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_SAMPLE
WHERE I1_CODE > ALL (
SELECT I1_CODE FROM T2_SAMPLE
WHERE 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 |