我試圖撰寫的MySQL SELECT語句從表中選擇存在什麼不表B中存在例如:選擇不表B中
表A:
+------+
| BAND |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+------+
表B:
+------+
| HATE |
+------+
| 1 |
| 5 |
+------+
所以,如果表A是所有頻段,而表B是我最討厭的樂隊,然後我只是想帶我不恨。所以選擇的結果應該是:
+------+
| BAND |
+------+
| 2 |
| 3 |
| 4 |
+------+
我該如何爲此編寫一個選擇?這是我最後一次嘗試:
SELECT * FROM A LEFT JOIN B ON A.BAND = B.HATE WHERE B.HATE IS NULL;
編輯:上面的行已被修復!請參閱下面的註釋...「= NULL」與「IS NULL」。
@Michelle您的查詢似乎是確定。你爲什麼說它不起作用? – Barranka 2013-04-08 22:57:25
看到我下面的評論。對於任何具有相同問題的人,「IS NULL」與MySQL中的「= NULL」不同。我嘗試了一種方法,查詢工作,另一種方式返回一個空集。奇怪!!! – TSG 2013-04-10 18:29:31
不僅在MySQL中,而且在任何SQL方言中。 SQL中的NULL值具有與任何其他值不同的屬性,包括另一個「NULL」。因此,你不能期望'= NULL'在SQL查詢上工作......你需要使用'IS NULL'。 – Barranka 2013-12-26 16:06:27