Access クエリ テーブルから別テーブルの文字列が含まれるものを除外
MS-Accessでユーザーデータの入ったテーブルから別テーブルにあるユーザーを除外するクエリ。
tblUser.Emailを参照しtblExclude.Emailのデータを除外する。
テーブル1 : tblUser (ユーザーリスト)
フィールド: LastName, FirstName, Email
テーブル2: tblExclude (除外するリスト)
フィールド: Email
SELECT FirstName, LastName, tblUser.Email FROM tblUser LEFT JOIN tblExclude ON tblUser.Email = tblExclude.Email WHERE tblExclude.Email IS NULL OR tblUser.Email IS NULL;
クエリ説明:
テーブルtblUserとtblExcludeをJOINしている。
LEFT JOIN を使うことでtblUser の全ての行が取得されるようになる。
WHERE 句で、tblExclude.Email が NULL (つまり tblExclude に存在しない)、または tblUser.Emailが NULL (メールアドレスが空の行) のものを抽出している。
このSQLクエリを Access で実行すると、tblUserテーブルのメールアドレスのうち、tblExcludeテーブルに存在しないものが表示される。またメールアドレスが空の行も含まれる。
※テーブルのデータはAIによって作成されたものです
| LastName | FirstName | |
| 田中 | 太郎 | tanaka.taro@example.com | 
| 佐藤 | 花子 | sato.hanako@example.com | 
| 鈴木 | 一郎 | suzuki.ichiro@example.com | 
| 高橋 | 美咲 | takahashi.misaki@example.com | 
| 渡辺 | 健二 | watanabe.kenji@example.com | 
| 山本 | 優子 | yamamoto.yuko@example.com | 
| 中村 | 亮 | nakamura Ryo@example.com | 
| 小林 | 直子 | kobayashi.naoko@example.com | 
| 加藤 | 誠 | kato.makoto@example.com | 
| 吉田 | 愛 | yoshida.ai@example.com | 
| tanaka.taro@example.com | 
| okada.jiro@example.com |