![](/img/trans.png)
[英]Formatting left join in mysql select( Not showing all records in left table)
[英]How do I select all records from MYSQL table on with a LEFT JOIN where id not in column?
我有一个表,我只想从中选择记录ID,而该记录ID在另一个表中不存在。
这是我的桌子:
staff
表:
和我的staff_to_assessors
表
我想做的是从users表中选择id在staff_to_assessors
表中不存在的所有记录。
到目前为止,我有:
SELECT * FROM users u
LEFT JOIN staff_to_assessors s2a
ON u.id = s2a.staff_id WHERE u.id NOT IN...
我被困在最后一刻! 有人可以帮忙吗
如果找不到左联接的匹配项,您将收到一个空的staff_id。
SELECT * FROM users u
LEFT JOIN staff_to_assessors s2a ON u.id = s2a.staff_id
WHERE s2a.staff_id IS NULL
要么
SELECT * FROM users u
WHERE u.id NOT IN(SELECT staff_id FROM staff_to_assessors)
检查评估者表上的空ID:
SELECT * FROM users u LEFT JOIN staff_to_assessors s2a
ON u.id = s2a.staff_id
WHERE s2a.staff_id is null
就像@ UrGuardian4ngel所说的一样,但这是整个查询
SELECT
*
FROM
`users`
WHERE
`users`.`id` NOT IN (
SELECT
`staff_to_assessors`.`staff_id`
FROM
`staff_to_assessors`
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.