で
http://www.youtube.com/results?search_query=mysql+join&oq=mysql+join
やチュートリアルを読むには、このクエリは、すべての「SQL」コースに参加者全員の名前とそのトレーナーの名前を取得します。 従業員、オファリング、および登録の少なくとも3つのテーブルを持つデータベースがあります。 従業員はコース提供に登録でき、コース提供者のトレーナーも従業員です。オファリングに登録するには、コース名とそのコースの開始日を入力する必要があります。
employees t join offerings o on (o.trainer = t.empno)
ここで、従業員はトレーナーのnrと従業員番号を使用したコース提供に関連しています。ここではトレーナーである従業員のみに興味があることを明確にするために、エイリアス名 "t"がEmployeeテーブルに使用されています。 "o"はOfferingsテーブルのエイリアス名です。この参加は、トレーナーが知られており、従業員であるすべてのコースを私たちに与えます。
join registrations r using (course, begindate)
ここでの登録は、コース名とコース提供の要請を使用したコース提供に関連しています。前の行は次のようになります。
join registrations r on o.course = r.course AND o.begindate = r.begindate
join employees a on (r.attendee = a.empno)
ここで、従業員は出席者番号と従業員番号を使用した登録に関連しています。ここでは、コースの出席者である従業員のみに興味があることを明確にするために、エイリアス名 "a"がEmployeeテーブルに使用されています。今まで
where course = 'SQL';
我々は、エーテル:彼らは訓練されたコース、登録及びその出席者-empleyeesを持つすべてのトレーナー、従業員の長いリストを持っています。その長いリストの中でコース名が "SQL"に等しい行だけに興味があります。
出典
2012-03-31 20:26:58
Wim
説明の種類私が探していたのですか?ありがとう。 – Abhinav