sqlを使用してコーディングを開始しました。これは、私が苦労している相関サブクエリの例です。ここで起こっていただきました!誰もが素人用語で説明していただけます。SQLを使用した相関サブクエリ
SELECT id
FROM flights AS f
WHERE distance > (SELECT AVG(distance)
FROM flights
WHERE carrier = f.carrier);
sqlを使用してコーディングを開始しました。これは、私が苦労している相関サブクエリの例です。ここで起こっていただきました!誰もが素人用語で説明していただけます。SQLを使用した相関サブクエリ
SELECT id
FROM flights AS f
WHERE distance > (SELECT AVG(distance)
FROM flights
WHERE carrier = f.carrier);
あなたのクエリは距離がその特定のキャリアの平均距離よりも大きいすべてのフライトを返します。
例:スイスの
id flight carrier distance
1 Brussels Swiss 200
2 New York Swiss 2000
3 Berlin Lufthansa 300
4 London Lufthansa 400
平均距離は1100で、ルフトハンザの350
であり、あなたのクエリが返す:
2
4
フライト2がキャリアスイスとの距離であります2000年はスイスと1100の平均距離よりも大きい。
Fligh t 4は運送業者のルフトハンザで、その距離400はルフトハンザの平均距離350より大きくなっています。
あなたの質問は、(個人的に)わかりやすく、以下の意味的に同じです。 (私はそれも分数的に高速だと思う)...
SELECT id
FROM flights g
JOIN
(SELECT carrier
, AVG(distance) avg_distance
GROUP
BY carrier
) x
ON x.carrier = f.carrier
AND x.distance > avg_distance;
あなたはどちらが速いと思いますか?あなたの質問または私が書いたもの? –
あなたが書いた質問を理解できます。ありがとう –