三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録
ホーム >> SQL備忘録 >> 副問い合わせ

副問い合わせ

説明

・副問い合わせは、WHERE句、FROM句、HAVING句などで指定できる。

【単一行副問い合わせ】
	・単一行の比較演算子を使用する。
	・副問い合わせの結果として一行を返す。
	・副問い合わせの結果が複数行の場合エラーとなる。
【複数行副問い合わせ】
	・複数行比較演算子を使用する。(IN、ANY、ALL)
	・副問い合わせの結果として複数行を返す。

例<


/******************************************************
単一行副問い合わせ
******************************************************/
SELECT name FROM TABLE_HOGE
	WHERE 給与 > (SELECT 給与 FROM TABLE_給与 WHERE id = 1);


/******************************************************
複数行副問い合わせ
******************************************************/
SELECT name FROM TABLE_HOGE
	WHERE 給与 > ALL (SELECT 給与 FROM TABLE_給与 WHERE deptid = 1);

/******************************************************
いろんな副問い合わせ
******************************************************/
SELECT * 
FROM 	TABLE1 T1,
	TABLE2 T2, 
	(SELECT deptid,deptname FROM TABLE_DEPT WHERE deptid = 1) T3
WHERE T1.id = T2.id
	AND T1.deptid = T3.deptid
	AND T1.salary > ALL (SELECT AVG(salary) FROM TABLE4);