如何使用联接从两个表中获取不匹配的记录



我有两个表,一个是老师,另一个是下面提到的部门。

教师表

Id Name 
1    xyz 
2.   Gjd
3.   Dftr
4    dhdk

部门表

Id Name  EMPID
1    SQL.     2
2.   PHP.     4
3.   JAVA.   1
4    PEARL. 5

问题 我想要那些与任何部门都没有联系的老师记录。

您可以使用以下语句使用left join然后过滤不匹配的老师

SELECT t.* 
FROM Teacher t
left join Department d on d.EMPID = t.Id 
where d.id is null
SELECT * FROM teachers WHERE 
id NOT IN (SELECT DISTINCT EMPID FROM departments) ;

希望这有帮助。!!

你可以通过内部查询来完成。

select * from teacher where id not in (select empid from department);

最新更新