• 締切済み

SELECT 文で

覚え始めで、どうにも上手くいかず困っております。 テーブル「個人ファイル」「個人ファイル2」 それぞれに「個人NO」の項目があります 「個人ファイル1」に存在し「個人ファイル2」に 存在しない「個人NO」の一覧を取得するには どうしたらよいのでしょうか? SQLSERVER でEXCEPTが使えなくて・・ どなたかお願いです。教えてください。

みんなの回答

回答No.1

SQL Serverも、バージョンによってSQL実装の状況が違いますから、明記するようにしてください。 差分検索ですぐに思いつくのは、以下のようなSQLです。 -- 例1 not existsを使う select * from 個人ファイル as pf1 where not exists (select 1 from 個人ファイル2 as pf2 where pf1.個人NO=pf2.個人NO) -- 例2 not inを使う select * from 個人ファイル where 個人NO not in(select 個人NO from 個人ファイル2) -- 例3 outer joinを使い、対応するキーがなかった行を検索 select pf1.* from 個人ファイル as pf1 left join 個人ファイル2 as pf2 on pf1.個人NO=pf2.個人NO where pf2.個人NO is null

関連するQ&A