Selvsammenføjning er som en indre sammenkædning, hvor to eller flere forekomster af samme tabel er forbundet gennem en fælles datatypekolonne/felt. En sådan joinforbindelse (indre join) giver de fælles rækker som resultat, baseret på sammenføjningsbetingelsen.
Medarbejdertabellen indeholder tre poster. I dette tilfælde,
medarbejder som ansat:
+-----+---------------+------------+
| id | employee | manager_id |
+-----+---------------+------------+
| 1 | Ola | NULL |
| 2 | Ahmed | 1 |
| 3 | Tove | 1 |
+----------+----------+------------+
medarbejder som leder:
+-----+---------------+------------+
| id | employee | manager_id |
+-----+---------------+------------+
| 1 | Ola | NULL |
| 2 | Ahmed | 1 |
| 3 | Tove | 1 |
+----------+----------+------------+
Nu første tilfælde:Lad os prøve dette for at forstå forskellen:
VÆLG emp.*
, manager.*
FRA medarbejder som ansat, medarbejder som lederWHERE emp.id =manager.manager_id
+-----+---------------+------------+-----+---------------+------------+
| id | employee | manager_id | id | employee | manager_id |
+-----+---------------+------------+-----+---------------+------------+
| 1 | Ola | NULL | 2 | Ahmed | 1 |
| 1 | Ola | NULL | 3 | Tove | 1 |
+----------+----------+------------+----------+----------+------------+
Se, emp.id =manager.manager_id . Således giver ansat.medarbejder som NAVN rækker af Ola fra første bord &leder.medarbejder som MANAGER giver rækker af Ahmed &Tove fra anden tabel.
Nu andet tilfælde:Lad os prøve dette for at forstå forskellen:
VÆLG emp.*
, manager.*
FRA medarbejder som ansat, medarbejder som lederWHERE manager.id =emp.manager_id
+-----+---------------+------------+-----+---------------+------------+
| id | employee | manager_id | id | employee | manager_id |
+-----+---------------+------------+-----+---------------+------------+
| 2 | Ahmed | 1 | 1 | Ola | NULL |
| 3 | Tove | 1 | 1 | Ola | NULL |
+----------+----------+------------+----------+----------+------------+
Se, manager.id =emp.manager_id . Således giver ansat.medarbejder som NAVN rækker af Ahmed &Tove fra første bord &leder.medarbejder som MANAGER giver rækker af Ola fra anden tabel.