表:
users (id, name)
permissions (id, area_id, user_id)
我想选择所有没有area_id的用户,在权限表中输入5。
答案 0 :(得分:3)
在表之间进行左连接,检查ON子句中的相关area_id(因此如果没有匹配的记录,左表行仍然被带回),但是在WHERE子句中检查没有匹配的记录
SELECT a.*
FROM users a
LEFT OUTER JOIN permissions b
ON a.id = b.user_id
AND b.area_id = 5
WHERE b.id IS NULL
答案 1 :(得分:-1)
SELECT user.* FROM USER
INNER JOIN permissions ON
(user.id=permissions.user_id AND permissions.area_id=0)
希望它会对你有所帮助。