0

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

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

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

4

3 回答 3

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
于 2012-11-21T15:45:49.020 回答
1

如果您只想显示在另一个表上没有匹配的记录,查询将如下所示。

SELECT  a.*
FROM    tableA a
        LEFT JOIN tableB b
            ON a.ID = b.ID
WHERE   b.ID IS NULL
于 2012-11-21T15:45:35.453 回答
1

select * from employees e where not exists (select 'x' from employee_phone ep where e.emp_id = ep.emp_id );

基本上,您想在employee_phone 表中进行不存在搜索,并使用员工ID(或其他加入因素)加入它们

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

于 2012-11-21T15:48:06.930 回答