ろくろ猫のブログ

しがない会社員の備忘log

【SQL】EXISTS句

指定した条件のレコードが存在するものを取得する。

テーブル

・テーブルA

名前 値段
りんご 200
みかん 100
ぶどう 150

・テーブルB

名前 産地
りんご 長野県
みかん 愛媛県
いちご 栃木県

SQL

SELECT * FROM テーブルA 
  WHERE EXISTS (
    SELECT * FROM テーブルB WHERE テーブルA.名前=テーブルB.名前
  );

結果

名前 値段
りんご 200
みかん 100


SQL文 NOT EXISTS

NOT EXISTSは存在しないレコードを取得する

SELECT * FROM テーブルA 
  WHERE NOT EXISTS (
    SELECT * FROM テーブルB WHERE テーブルA.名前=テーブルB.名前
  );

結果

名前 値段
ぶどう 150