SQL-92/99 Oracle Db2 SQL Server MySQL PostgreSQL Access
WHERE 式 比較演算子 ALL ( 副問い合せ )
ALLは指定した式と副問い合せの結果を比較するときに使用します。
このとき比較演算子の条件がすべて真になるとき真、条件が一つでも偽になるとき偽になります。
関連キーワード
SQL実行例の説明(1)
T1_SAMPLE表から「I1_CODE」が副問い合せの結果リストより大きいデータを取得します。
・T2_SAMPLE表から「I1_NAME」が「汎用部品」に一致する「I1_CODE」のデータを取得します。
・副問い合わせの結果リストを使用して、T1_SAMPLE表から「I1_CODE」がこの結果リストより大きいデータを取得します。
SELECT * FROM T1_SAMPLEWHERE I1_CODE > ALL (SELECT I1_CODE FROM T2_SAMPLEWHERE I1_NAME = '汎用部品');
SQL実行の結果(1-1)
条件式に一致する副問い合わせの結果リストはI1_CODEが101となる。(右)
| I1_CODE | I1_NAME | I1_PRICE |
|---|---|---|
| 101 | 汎用部品 | 500 |
| 201 | 車体部品 | 2300 |
| 202 | 車体部品 | 2400 |
| 301 | 特殊部品 | 4500 |
| I1_CODE |
|---|
| 101 |
副問い合わせの結果リストよりI1_CODEが101より大きいデータ5件を取得します。(右)
| SERIAL | I1_CODE | I_COST |
|---|---|---|
| 203001 | 101 | 2500 |
| 203002 | 201 | 6500 |
| 203003 | 301 | 9800 |
| 203004 | 201 | 5500 |
| 203005 | 201 | 5600 |
| 203006 | 202 | 5600 |
| SERIAL | I1_CODE | I_COST |
|---|---|---|
| 203002 | 201 | 6500 |
| 203003 | 301 | 9800 |
| 203004 | 201 | 5500 |
| 203005 | 201 | 5600 |
| 203006 | 202 | 5600 |