- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL文でexistsの使い方がわかりません。)
SQL文でexistsの使い方がわかりません。
このQ&Aのポイント
- 受注表の特定の条件に合致しない作業員の氏名を一覧表で表示したい場合、existsとnot existsを使用します。
- 作業員表の特定の条件に合致する作業員を選択し、その中で受注表に登録されていない作業員を表示させます。
- 具体的には、受注表の作業日、作業開始時間、作業終了時間と作業員表の作業可能日、作業可能開始時間、作業可能終了時間を比較し、条件に合致しない作業員を表示させます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQLでは、OR条件とAND条件ではAND条件が優先されます。 条件1 OR 条件2 AND 条件3 AND 条件4 AND 条件5 という記述だと「条件1に合う または 条件2,3,4,5に合う」 という意味になってしまいます。 (条件1に合ってさえいれば、条件3,4,5に合っていなくてもよい) これを「条件1または条件2に合う かつ 条件3,4,5に合う」 とする場合は (条件1 OR 条件2) AND 条件3 AND 条件4 AND 条件5 と記述します。 これで「条件1,3,4,5に合う または 条件2,3,4,5に合う」 データを抽出することができます。 質問文の例でいうと >受注表.作業員1 = 作業員表.氏名 or 受注表.作業員2 = 作業員表.氏名 の部分を()でくくればいいのではないかと思います。
お礼
ありがとうございました。 おかげで問題を解決することができました。