Bu sorgu çalışır:Hata
mysql> SELECT t.sno FROM take t WHERE t.cno = 'CS112';
+------+
| sno |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec)
ANCAK bu sorgu:
mysql> SELECT s.sno FROM students s;
+------+
| sno |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+------+
10 rows in set (0.00 sec)
Bu sorgu da çalışır
SELECT s.sno FROM students s
EXCEPT
SELECT t.sno FROM take t WHERE t.cno = 'CS112';
hata ile başarısız:
mysql> SELECT s.sno FROM students s
-> EXCEPT
-> SELECT t.sno FROM take t WHERE t.cno = 'CS112';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use n
ear 'EXCEPT
SELECT t.sno FROM take t WHERE t.cno = 'CS112'' at line 2
Burada yanlış olan ne yapıyorum?
Sen 'EXCEPT' desteklemeyen hakkında doğru. Ancak alternatifiniz doğru sonucu vermez. – Cratylus
5-10 geri dönen sno arıyorsunuz, değil mi? – McCee
Gönderdiğiniz sorgu, bunu döndürmez. – Cratylus