मुझे विश्वास नहीं है कि MySQL सिंटैक्स को छोड़कर समर्थन करता है। NOT IN
. का उपयोग करके देखें या एक LEFT JOIN
:
SELECT s.sno
FROM students s
WHERE s.sno NOT IN
(
SELECT t.sno
FROM take t
WHERE t.cno = 'CS112'
);
या
SELECT s.sno
FROM students s
LEFT JOIN take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'
अपडेट करें
मैंने आपके डेटा का मजाक उड़ाया है और यह 5 से 10 तक सही ढंग से लौटाता है:
create temporary table temp_students (sno int)
insert into temp_students values (1)
insert into temp_students values (2)
insert into temp_students values (3)
insert into temp_students values (4)
insert into temp_students values (5)
insert into temp_students values (6)
insert into temp_students values (7)
insert into temp_students values (8)
insert into temp_students values (9)
insert into temp_students values (10)
create temporary table temp_take (sno int, cno varchar(50))
insert into temp_take values (1, 'CS112')
insert into temp_take values (2, 'CS112')
insert into temp_take values (3, 'CS112')
insert into temp_take values (4, 'CS112')
SELECT s.sno
FROM temp_students s
LEFT JOIN temp_take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'