sql语法 - 反向选择

时间:2017-01-25 08:46:29

标签: mysql sql db2

我有2个表:(这些不是真正的表格,我让演示变得简单了)

> 1. Students_Table - with ID column (and others)
> 2. Students_Pictures_Table : with ID column and PIC(Blob) column
  

我需要SQL语法,它只返回那些学生的ID   存在于Students_Table中,但不存在于Students_Pictures_Table中。

2 个答案:

答案 0 :(得分:2)

not exists和相关子查询可能是最简单的方法

select s.id
from students s
where not exists (select 1 from student_pictures p where p.id = s.id)

答案 1 :(得分:1)

您可以使用left join获取行,例如:

SELECT s.id
FROM Students s LEFT JOIN Students_Pictures sp ON s.id = sp.student_id
WHERE sp.id IS NULL
GROUP BY s.id;