指定した値のいずれかに一致したものを抽出するには、IN句を使用します。
構文
IN句には、①値を指定 ②SQL文を指定の2つの方法があります。
- (①値を指定する場合)
- IN('値1' [,'値2' ...])
- (②SELECT文を指定する場合)
- IN(<SQL文>)
サンプル
以下テーブルをサンプルとします。
| cd | name | dept |
|---|---|---|
| 001 | 鈴木 | 30 |
| 002 | 斎藤 | 10 |
| 003 | 山下 | 10 |
| 004 | 田川 | 40 |
| 005 | 高橋 | 20 |
| cd | deptname |
|---|---|
| 20 | 総務部 |
| 30 | 経理部 |
例)部署が10と20の人を抽出する
|
1 2 |
SELECT * FROM M_SHAIN WHERE DEPT IN ('10', '20'); |
- 結果
- CD NAME DEPT ----- ------- ----- 002 斎藤 10 003 山下 10 005 高橋 20
例)M_DEPTに定義されている部署のみ抽出する
|
1 2 |
SELECT * FROM M_SHAIN WHERE DEPT IN (SELECT CD FROM M_DEPT); |
- 結果
- CD NAME DEPT ----- ------- ----- 001 斎藤 10 005 高橋 20
メモ
- IN句はWHERE句内に使えます。
- IN句の値には、文字型や数値型など指定できます。