Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ FROM句内の内部サブクエリの使用 | ネストされたサブクエリ
中級SQL
セクション 2.  3
single

single

FROM句内の内部サブクエリの使用

メニューを表示するにはスワイプしてください

内部サブクエリは、外部クエリで操作を行うためのテーブルを作成。

これにより、FROMセクション内で内部クエリを使用して、このテーブルからデータを選択できることが分かる。

例えば、employees特定の値以上salaryを扱う必要がある場合を考える。ただし、WHERE句の代わりに内部クエリを使用する必要がある:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees

内部サブクエリを使用して新しいテーブルが作成されており、このテーブルを使って情報を取得できる。

Note
注意

このようなテーブルの場合、エイリアスを指定することが重要。

この方法が役立つのはどんな場合か?

このようなクエリは非常に可読性が高いため、時には WHERE 句の代わりとして利用できる場合がある。

さらに、テーブル全体ではなく絞り込んだ一部のみを扱いたい場合、FROM 節内の内部サブクエリが非常に便利。

タスク

スワイプしてコーディングを開始

あなたの課題は、budget テーブルからすべての管理部門平均予算department カラム)を取得することです。FROM 節で内部サブクエリを使用し、管理部門タイプのみを抽出してください。また、このテーブルには manager_departments というエイリアスを付与してください。これにより、課題が正しく判定されます。

応答には average_budget という1つのカラムのみを含めてください。これは集約関数 AVG() のエイリアスです。

この課題は WHERE 句を使っても解決できますが、ここではこの構文を練習するためにネストされたクエリを使用します。これは今後より複雑な問題を解く際に役立ちます。

簡単な手順

  • budget カラムの平均値を取得してください。
  • そのカラムに average_budget というエイリアスを付与してください。
  • FROM 句でネストされたクエリを記述してください。
  • ネストされたクエリでは、department テーブルのすべてのカラムを選択してください。
  • ネストされたクエリで WHERE 句を使い、条件は type = 'manager' としてください。
  • ネストされたクエリに manager_departments というエイリアスを付与してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  3
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt