Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint

Self-Joins

Eine Tabelle kann nicht nur zweimal in derselben Abfrage verwendet, sondern sogar mit sich selbst verbunden werden. Zunächst mag das seltsam klingen, aber es gibt gute Gründe, dies gelegentlich zu tun. Die employee-Tabelle enthält beispielsweise einen selbstreferenzierenden Fremdschlüssel: eine Spalte (superior_emp_id), die auf den Primärschlüssel derselben Tabelle verweist. Diese Spalte referenziert den jeweiligen Vorgesetzten eines Mitarbeiters (wenn der Mitarbeiter nicht selbst der Chef des Ganzen ist; dann ist die Spalte natürlich null). Mit einem Self-Join können Sie eine Abfrage schreiben, die die Namen der Angestellten zusammen mit ihren jeweiligen Vorgesetzten aufführt:

mysql> SELECT e.fname, e.lname,
    ->   e_mgr.fname mgr_fname, e_mgr.lname mgr_lname
    -> FROM employee e INNER JOIN employee e_mgr
    ->   ON e.superior_emp_id = e_mgr.emp_id;
+----------+-----------+-----------+-----------+
| fname    | lname     | mgr_fname | mgr_lname |
+----------+-----------+-----------+-----------+
| Susan    | Barker    | Michael   | Smith     |
| Robert   | Tyler     | Michael   | Smith     |
| Susan    | Hawthorne | Robert    | Tyler     |
| John     | Gooding   | Susan     | Hawthorne |
| Helen    | Fleming   | Susan     | Hawthorne |
| Chris    | Tucker    | Helen     | Fleming   |
| Sarah    | Parker    | Helen     | Fleming   |
| Jane     | Grossman  | Helen     | Fleming   |
| Paula    | Roberts   | Susan     | Hawthorne |
| Thomas   | Ziegler   | Paula     | Roberts   |
| Samantha | Jameson   | Paula     | Roberts   |
| John     | Blake     | Susan     | Hawthorne |
| Cindy    | ....

  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint