我有兩個表SQL查詢:搶那些沒有任何數量
- 事件
- 專輯
我想抓住這並不在表中albums
任何條目中的所有事件。
我知道該怎麼做才能讓所有有entrys:
SELECT id, title FROM events e
INNER JOIN albums a ON (e.id = a.eID)
我該怎麼做完全相反的,所以它列出所有不與他們的電子身份證在ID連續事件相冊?
我有兩個表SQL查詢:搶那些沒有任何數量
我想抓住這並不在表中albums
任何條目中的所有事件。
我知道該怎麼做才能讓所有有entrys:
SELECT id, title FROM events e
INNER JOIN albums a ON (e.id = a.eID)
我該怎麼做完全相反的,所以它列出所有不與他們的電子身份證在ID連續事件相冊?
SELECT id, title
FROM events e
WHERE NOT EXISTS (SELECT NULL FROM albums a WHERE a.eid = e.id)
也LEFT JOIN
並可以檢查NULL
存在是正常運行更快。
我傾向於使用這種方法:
select id, title
from events
where id not in (select id from albums)
還有外連接方式:
select a.id, a.title
from events a left outer join albums b on a.id = b.id
where b.id is null
您需要爲您的'OUTER JOIN'添加一個'ON'子句... –
'ON'後面應該有一個條件,而不是'id'。 –
@gbn感謝編輯,我無法再讀取清晰。 – JNK