非相関サブクエリ vs 相関サブクエリ
メニューを表示するにはスワイプしてください
SQLで人事データを効果的に扱うためには、非相関サブクエリと相関サブクエリの違いを理解する必要があります。どちらのタイプのサブクエリも複雑な質問に答えることができますが、それぞれ異なる方法で動作します。
非相関サブクエリは外側のクエリに依存しません。一度だけ実行され、その結果がメイン(外側)のクエリで使用されます。たとえば、全社の平均給与より高い給与を持つ従業員を見つけたい場合、非相関サブクエリを使用できます。サブクエリは平均給与を一度計算し、外側のクエリが各従業員の給与とその値を比較します。
一方、相関サブクエリは外側のクエリの値に依存します。外側のクエリで処理される各行ごとに一度ずつ実行され、外側のクエリから値をパラメータとして受け取ります。これは、各行をその行に関連するグループと比較する必要がある場合に便利です。人事のシナリオでは、従業員の給与を全社ではなく自分の部署の平均給与と比較したい場合があります。この場合、サブクエリは外側のクエリが各従業員を調べるたびに、各部署ごとに平均値を再計算する必要があります。
1234567891011121314-- Find employees whose salary is above the average salary in their department SELECT e.employee_id, e.name, e.salary, e.department_id FROM employees e WHERE e.salary > ( SELECT AVG(e2.salary) FROM employees e2 WHERE e2.department_id = e.department_id );
1. 次のSQLクエリのうち、相関サブクエリを含むものはどれですか?
2. どのような場合に非相関サブクエリではなく相関サブクエリを使用すべきですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 7
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 7