I am using mysql. I am trying to join two queries by != condition. For this example it should return empty result set. But it seems the condition is not applied. I am not understanding why. Can anybody please help? My attempts are below: SELECT today_student.* FROM ( SELECT scd.student_id, sc.transaction_date FROM student_collection_details scd INNER JOIN student_collection sc ON (scd.student_collection_id = sc.id) WHERE 1=1 AND sc.transaction_date BETWEEN DATE('2022-06-01 00:00:00') AND DATE('2022-06-27 00:00:00') AND scd.admission_year_id = 2 AND scd.month_id = 21 AND scd.collection_head_id = 9 GROUP BY scd.student_id ) prev_student, ( SELECT scd.student_id, sc.transaction_date FROM student_collection_details scd INNER JOIN student_collection sc ON (scd.student_collection_id = sc.id) WHERE 1=1 AND sc.transaction_date = DATE('2022-06-28 00:00:00') AND scd.admission_year_id = 2 ...