0

結合、左、右のインナーを理解していると思いますが、このタスクに問題があります。2 番目のテーブルで一致しないレコードを表示する必要があります。

たとえば、あなたが従業員で、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 * from employees e where not exist (select 'x' from employee_phone ep where e.emp_id = ep.emp_id );

基本的に、employee_phone テーブルで存在しない検索を実行して、それらを従業員 ID (またはその他の結合要素) で結合する必要があります。

より正確にするために、テーブル構造に関する詳細情報が必要です

于 2012-11-21T15:48:06.930 に答える
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 に答える