我有两个表:
Site:
id | name
1 | google
2 | stackoverflow
3 | cnn.com
Confirm:
id | site_id | type // (type = 1, 2 or 3)
1 | 1 | 2
2 | 2 | 1
所以想要获取未添加到表中的站点 请使用类型确认,例如 1。
SELECT *
FROM Site
LEFT JOIN Confirm
ON Site.id = Confirm.site_id
接下来怎么办?
最佳答案
编写此查询的自然方法是作为 NOT EXISTS
查询:
SELECT s.*
FROM Sites s
WHERE NOT EXISTS (SELECT 1 FROM Confirm c WHERE c.site_id = s.id AND type = 1);
这几乎是问题陈述的 1-1 翻译:“想要获取未添加到类型 = 1 的 Confirm
的网站”。
关于mysql - 左连接而不是 ISSET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22505340/