MySQLにて、下記の課題に直面してSQLの組み方のイメージが湧かないため、
質問させていただきます。
ぜひともよろしくおねがいいたします。
実現したいこと
例として、どのテーブルにもリレーションを組まない、単一のテーブル hogeを用意します。
〇 TABLE名:hogeとします。
| id | name |
|---|---|
| 1 | Aさん |
| 2 | Bさん |
| 3 | Cさん |
IN句で、たとえば IN(1,2,3,4) と指定して、上表より4が該当しないことを検出したいのが目標です。
ループを使ってテーブル1行ずつ検索するのは、さすがに効率が悪いので、少ないクエリの回数で4を取得
できないかを考えてました。
EXISTSとサブクエリを組み合わせても、1,2,3に引っかかってばかりな状態です。
最終手段としては、IN句の中身の集合 1,2,3,4と、上記テーブルのid集合との差を
プログラムで検出する方法にしようと考えてます。
回答4件
あなたの回答
tips
プレビュー