1.節でサブクエリの構造をいつ使用するのか知りたいのですがselect
?
2. 1.構造で記述されたクエリが、他のネストされた形式の1つに同等のものを持っている場合:
SELECT ... from ... where .. IN (SELECT ...)
SELECT ... from (SELECT ...)
ありがとう
この回答では、最初の選択を外部選択、2 番目の選択を内部選択と呼びます。
SELECT ... FROM ... WHERE ... IN (SELECT ...)
知っているレコードに類似したレコードを検索する場合に使用します。内側の選択からの項目は、外側の選択と比較できます。
Get the population of cities which are in Texas
SELECT city, population FROM cities WHERE city IN (SELECT city FROM states WHERE state = 'Texas')
SELECT ... FROM ... (SELECT ...)
ステートメントの派生テーブルを作成する場合に使用します。内側の選択で計算されたアイテムは、外側の選択で使用できます。
Get employees who have earned more than $500 this week (derived table x)
SELECT name, ROUND(wages) FROM (SELECT name, per_hour * hours_worked AS wages FROM timesheet) AS x WHERE wages > 500
相関サブクエリである 3 番目の方法もあります。これはSELECT ... FROM ... WHERE ... (= or > or < or != etc) (SELECT ...)
、計算に基づいて行を選択する場合に使用されます。
Get cities with bigger populations than 2 times the average
SELECT city, population FROM cities WHERE population > 2 * (SELECT AVG(population) FROM cities)