Forbind tabeller i SQL
Indhold på denne side
Indre forbindelse (JOIN)
Man kan forbinde tabeller ved at bruge erklæringen “JOIN”. Denne erklæring tager udgangspunkt i en kolonne som er inkluderet på begge de tabeller som skal forbindes og den forbinder kun de rækker som optræder i både den ene og den anden tabels kolonne. Derfor bliver denne erklæring også kaldt en indre forbindelse eller “Inner join”. De dataværdier som er inkluderet i forbindelsen er illustreret på nedenstående graf, hvor det grønne felt er de dataværdier som kommer med i tabellen:
Erklæringen for at lave en indre forbindelse ser sådan her ud:
SELECT kolonne ... FROM tabel_1 JOIN tabel_2 ON kolonne_1 = kolonne_2;
Fordi vi har af gøre med flere tabeller så skal man først indikere hvilken tabel der er tale om ved først at skrive tabellens navn, efterfulgt at et punktum og så efterfulgt af kolonnens navn (tabel.kolonne).
- “kolonne” er den eller de kolonner som programmet skal indlæse. En stjerne (*) vil indlæse alle kolonnerne
- “tabel_1” er den ene tabel som skal forbindes
- “tabel_2” er den anden tabel der skal forbindes
- “kolonne_1” er en kolonne i tabel_1 hvis værdier skal sammenlignes med en kolonne i tabel_2
- “kolonne_2” er en kolonne i tabel_2 hvis værdier skal sammenlignes med kolonnen fra tabel_1
Ydre forbindelse (FULL JOIN)
Man kan forbinde tabeller ved at bruge erklæringen “FULL JOIN”. Denne erklæring tager udgangspunkt i en kolonne som er inkluderet på begge de tabeller som skal forbindes og den forbinder alle de rækker som enten optræder på den ene eller den anden tabels kolonne. Derfor bliver denne erklæring også kaldt en ydre forbindelse eller “Outer join”. De dataværdier som er inkluderet i forbindelsen er illustreret på nedenstående graf, hvor det grønne felt er de dataværdier som kommer med i tabellen:
Erklæringen for at lave en ydre forbindelse ser sådan her ud:
SELECT kolonne ... FROM tabel_1 FULL JOIN tabel_2 ON kolonne_1 = kolonne_2;
Fordi vi har af gøre med flere tabeller så skal man først indikere hvilken tabel der er tale om ved først at skrive tabellens navn, efterfulgt at et punktum og så efterfulgt af kolonnens navn (tabel.kolonne).
- “kolonne” er den eller de kolonner som programmet skal indlæse. En stjerne (*) vil indlæse alle kolonnerne
- “tabel_1” er den ene tabel som skal forbindes
- “tabel_2” er den anden tabel der skal forbindes
- “kolonne_1” er en kolonne i tabel_1 hvis værdier skal sammenlignes med en kolonne i tabel_2
- “kolonne_2” er en kolonne i tabel_2 hvis værdier skal sammenlignes med kolonnen fra tabel_1
Venstre forbindelse (LEFT JOIN)
Man kan forbinde tabeller ved at bruge erklæringen “LEFT JOIN”. Denne erklæring tager udgangspunkt i en kolonne som er inkluderet på begge de tabeller som skal forbindes og den forbinder alle rækker fra den venstre kolonne og dem fra højre kolonne som matcher. De dataværdier som er inkluderet i forbindelsen er illustreret på nedenstående graf, hvor det grønne felt er de dataværdier som kommer med i tabellen:
Erklæringen for at lave en ydre forbindelse ser sådan her ud:
SELECT kolonne FROM tabel_1 LEFT JOIN tabel_2 ON kolonne_1 = kolonne_2;
Fordi vi har af gøre med flere tabeller så skal man først indikere hvilken tabel der er tale om ved først at skrive tabellens navn, efterfulgt at et punktum og så efterfulgt af kolonnens navn (tabel.kolonne).
- “kolonne” er den eller de kolonner som programmet skal indlæse. En stjerne (*) vil indlæse alle kolonnerne
- “tabel_1” er den ene tabel som skal forbindes
- “tabel_2” er den anden tabel der skal forbindes
- “kolonne_1” er en kolonne i tabel_1 hvis værdier skal sammenlignes med en kolonne i tabel_2
- “kolonne_2” er en kolonne i tabel_2 hvis værdier skal sammenlignes med kolonnen fra tabel_1
Højre forbindelse (RIGHT JOIN)
Man kan forbinde tabeller ved at bruge erklæringen “RIGHT JOIN”. Denne erklæring tager udgangspunkt i en kolonne som er inkluderet på begge de tabeller som skal forbindes og den forbinder alle rækker fra den højre kolonne og dem fra venstre kolonne som matcher. De dataværdier som er inkluderet i forbindelsen er illustreret på nedenstående graf, hvor det grønne felt er de dataværdier som kommer med i tabellen:
Erklæringen for at lave en ydre forbindelse ser sådan her ud:
SELECT kolonne FROM tabel_1 RIGHT JOIN tabel_2 ON kolonne_1 = kolonne_2;
Fordi vi har af gøre med flere tabeller så skal man først indikere hvilken tabel der er tale om ved først at skrive tabellens navn, efterfulgt at et punktum og så efterfulgt af kolonnens navn (tabel.kolonne).
- “kolonne” er den eller de kolonner som programmet skal indlæse. En stjerne (*) vil indlæse alle kolonnerne
- “tabel_1” er den ene tabel som skal forbindes
- “tabel_2” er den anden tabel der skal forbindes
- “kolonne_1” er en kolonne i tabel_1 hvis værdier skal sammenlignes med en kolonne i tabel_2
- “kolonne_2” er en kolonne i tabel_2 hvis værdier skal sammenlignes med kolonnen fra tabel_1