サブクエリ
サブクエリとは?
SQL文の中に別のSQL文を埋め込む技術です。括弧で囲んで記述します。
WHERE句のサブクエリ
全従業員の平均給与より高い給与の従業員を取得:
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary) FROM employees
);
INを使ったサブクエリ
東京にある部署の従業員を取得:
SELECT name, department_id
FROM employees
WHERE department_id IN (
SELECT id FROM departments WHERE location = '東京'
);
FROM句のサブクエリ(派生テーブル)
SELECT dept_avg.department_id, dept_avg.avg_sal
FROM (
SELECT department_id, AVG(salary) AS avg_sal
FROM employees
GROUP BY department_id
) dept_avg
WHERE dept_avg.avg_sal > 500000;
SQL エディタ
練習問題
問題 1
全従業員の平均給与より高い給与を持つ従業員のnameとsalaryを取得してください