我正在嘗試學習SQL。我有一個表(稱爲likes
),看起來像這樣:非單調SQL查詢(查找只喜歡某些東西的名字)
|---------|---------------|
| name | color |
|---------|---------------|
| Jane | Red |
| Talia | Red |
| Jane | Black |
| Loui | Black |
| John | Black |
| Jane | Green |
| John | Green |
|---------|---------------|
查詢是Names who like only Black
。我試着這樣說:
SELECT L1.name FROM likes L1 WHERE L1.color = 'Black'
AND NOT EXISTS (SELECT L2.name FROM likes L2 WHERE L1.name = L2.name);
這將返回空的,因爲最終Loui
將在NOT EXISTS
子查詢等於Loui
。但是,我不知道該如何更改,因此只返回Loui
。
我可以使用UNION
以及上面查詢中看到的所有內容,但沒有其他。
任何幫助,將不勝感激!
謝謝你,第二個查詢的偉大工程過濾器的名稱。太簡單了。我會用其他方法來做到這一點,但由於分配指令,我只能在查詢中使用哪些關鍵字。 – syy