副問合せを使用してデータを検索する

Pocket

/*
|| ■副問合せを使用してデータを検索する
|| 【構文の説明】
|| SELECT :抽出するカラム名を記述する(関数を記述する事もできます)
|| FROM :データを取得するテーブルやビューを指定する
|| WHERE :データ抽出条件を記述する
|| table_name :テーブル名
|| col :カラム名(テーブルに指定した順序でなくても良い)
||
|| 【注意事項】
|| SELECT句での副問合せは1つの列しか指定できないため、副問合せの数が増えてしまいがちです。
|| 同じような条件のSQLはWITH句でまとめるとパフォーマンスが改善することが多いです。
*/
–WHERE句に副問合せを使用して検索する
SELECT *
FROM table_name2
WHERE col2 = (SELECT col1 FROM table_name1 WHERE col1 = 102)
ORDER BY col2
;

–SELECT句に副問合せを使用して検索する
SELECT
T1.col1
,T1.col2
,T1.col3
,T1.col4
,(
SELECT AVG(SUB1.col5)
FROM table_name2 SUB1
WHERE T1.col4 = SUB1.col4
) AS avg_col5
,(
SELECT MAX(SUB1.col5)
FROM table_name2 SUB1
WHERE T1.col4 = SUB1.col4
) AS max_col5
FROM
table_name1 T1

–FROM句に副問合せを使用して検索する
SELECT *
FROM (SELECT col1, col2, AVE(col3)
FROM table_name1
GROUP BY col2) AS sub
WHERE col2 = ‘A’
;

以上です (^^♪