2017-09-12 2 views
1

私は彼らがオブジェクトと呼んでいるかどうかは分かりませんが、Codecademyレッスンhereでは文字fを使用しましたが、それが何であるか説明しませんでした。 さらに、それが実際にオブジェクト、つまり私が理解しているそのコピーであれば、同じプロパティでより大きい条件をどのように使用できますか?そんなに大変申し訳ありません。説明してください。 は、以下そのレッスンからの抜粋である:各追加 フライトとflight_id増分を仮定すると、例えばSQLテーブルオブジェクト

、我々は、キャリアによって便、 フライトID、およびシーケンス番号を表示するために、次のクエリを使用することができる:

SELECT carrier, id, 
    (SELECT COUNT(*) 
FROM flights f 
WHERE f.id < flights.id 
AND f.carrier=flights.carrier) + 1 
AS flight_sequence_number 
FROM flights; 

答えて

1

あなたが今、あなたの代わりに、サブクエリにflights.carrierflights.idを使用してのf.carrierまたはf.idを参照できるように、それはテーブルの別名です。

select ... from flights where ....; 

ここでの問題は、内側のことである:[OK]を

http://technet.microsoft.com/en-us/library/ms187455(v=sql.105).aspx

+0

ありがとうございます。条件部はどうですか? 'f.id Aba74

+0

' f.id'が 'flights.id'より小さい行だけを返します。 '<' to '>'や '='(など)を変更して、結果を調べてみてください。 – cdsln

0

ので、あなたがサブクエリを持って

select ... from flights; 

インサイドはメインクエリを持っているもの、ここで起こっているありますフライトのクエリは外部のものを参照する必要があるため、ここで表の名前を変更します:

select ... from flights f where f. ... = flights. ... 

これは、内部クエリがflights行を参照するためにfを使用し、外側の参照を参照するためにflightsを使用することを意味します。

データベース用語では、これらの関係を呼び出すために、内部テーブルにローカルスコープの名前を付けました。命令言語とは異なり、これはこの時点で名前を完全に隠しています(fflightsは同じ関係の異なる行を参照しています)。

関連する問題