single
FROM句内でのインナーサブクエリの使用
メニューを表示するにはスワイプしてください
内部サブクエリは、外部クエリで操作を行うためのテーブルを作成。
このことから、FROMセクション内で内部クエリを使用し、このテーブルからデータを選択できることが分かる。
例えば、employeesが特定の値以上のsalaryを扱う必要がある場合を考える。ただし、WHERE句の代わりに内部クエリを使用する。
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
内部サブクエリを使って新しいテーブルを作成し、そのテーブルを使って情報を取得できる。
このようなテーブルの場合、エイリアスの指定が必須。
この方法はどのような場面で役立つか?
このようなクエリは非常に可読性が高いため、場合によっては WHERE 句の代わりとして利用可能。
さらに、テーブル全体ではなく絞り込んだ一部のみを扱いたい場合、FROM 節内の内部サブクエリが非常に便利。
スワイプしてコーディングを開始
あなたの課題は、budget テーブルからすべての管理部門の 平均予算(department 列)を取得することです。FROM 節で内部サブクエリを使用し、管理部門タイプのみを抽出してください。また、このテーブルには manager_departments というエイリアスを付与してください。これにより、課題の判定が正しく行われます。
返却される結果は、average_budget という1つの列のみです。これは集約関数 AVG() のエイリアスです。
この課題は WHERE 句を使っても解決できますが、ここではこの構文の練習のためにネストされたクエリを使用します。これは今後より複雑な問題を解く際に役立ちます。
簡単な手順
budget列の平均値を取得する- その列に
average_budgetというエイリアスを付与する FROM節でネストされたクエリを書く- ネストされたクエリ内で
departmentテーブルのすべての列を選択する - ネストされたクエリ内で
WHERE句を使い、type = 'manager'という条件を指定する - ネストされたクエリに
manager_departmentsというエイリアスを付与する
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください