mysql显示第二个表中不匹配的项目。

时间:2012-11-21 15:44:05

标签: mysql

我相信我理解加入,左,右,但我对此任务有问题。我必须在第二个表中显示不匹配的记录。

如果您是员工,并且employee_phone表没有与您匹配的记录,那么我应该使用哪种查询?

我需要找到employee_phone表中没有匹配项的所有员工。

3 个答案:

答案 0 :(得分:2)

select * 
from employee
where id not in (select emp_id from employee_phone)

select e.* 
from employee e
left outer join employee_phone ep on e.id = ep.emp_id
where ep.emp_id is null

答案 1 :(得分:1)

如果您只想显示另一个表上没有匹配的记录,

查询将如下所示。

SELECT  a.*
FROM    tableA a
        LEFT JOIN tableB b
            ON a.ID = b.ID
WHERE   b.ID IS NULL

答案 2 :(得分:1)

从员工e中选择*不存在(从employee_phone ep中选择'x',其中e.emp_id = ep.emp_id);

基本上你想在employee_phone表中做一个不存在的搜索,用员工ID(或其他加入因子)加入它们

需要有关表结构的更多信息以使其更准确