私はSQLでプログラミングすることを学んでおり、セルフ・ジョインに導入されました。私はこれらの仕組みを理解していますが、非常に具体的な使用法以外の目的は何かを理解しておらず、従業員テーブルを従業員とそれぞれの管理者をきれいに表示するために参加しています。セルフ・ジョインの目的
EmployeeID | Name | ManagerID
------ | ------------- | ------
1 | Sam | 10
2 | Harry | 4
4 | Manager | NULL
10 | AnotherManager| NULL
し、次の問合せ::戻ってくる
select worker.employeeID, worker.name, worker.managerID, manager.name
from employee worker join employee manager
on (worker.managerID = manager.employeeID);
:
この使用法は、次の表を用いて実証することができます。このほかに
Sam AnotherManager
Harry Manager
、いずれかがあります自己結合が有用な他の状況?自己結合が必要なシナリオを理解することはできません。
を取ることが可能であるような列の対として、「時刻表データ」の他のものを見つけるために使用することができます。http: //stackoverflow.com/questions/2458519/explanation-of-self-joins?noredirect=1&lq=1、http://stackoverflow.com/questions/3362038/what-is-self-join-and-when-would-あなたはそれを使用します。 – Nivas