Join (SQL)

Fra Wikipedia, den frie encyklopædi

JOIN er en SQL-specifikation som benyttes sammen med SELECT for at returner et resultat af optegnelser fra flere tabeller. Den bruges når data fra hovedtabellen skal kombineres med data fra andre tabeller.

JOIN-specifikationer[redigér | rediger kildetekst]

  • INNER JOIN eller bare JOIN – returner kun kombineret data.
  • LEFT JOIN – returnerer alle data fra hovedtabellen og kombinerer dem med data fra den anden der det er mulig.
  • RIGHT JOIN – returnerer alle data fra den anden tabellen og kombinerer dem med data fra hovedtabellen der det er mulig.

Grundlæggende syntaks[redigér | rediger kildetekst]

En JOIN-forespørgsel ser således ud:

SELECT tabell1.kolonne2, tabell2.*
FROM tabell1
JOIN tabell2 ON tabell1.kolonne1 = tabell2.kolonne

Eksempler[redigér | rediger kildetekst]

Tabellen personer ser således ud:

navn bosted
Ola Nordmann Oslo
Navn Navnesen Bergen
Jens Jensen Tromsø
Kari Nordmann Oslo

Tabellen byer ser således ud:

bynavn fylke
Oslo Oslo
Bergen Hordaland
Trondheim Sør-Trøndelag
Søgning Resultat
SELECT *
FROM personer
INNER JOIN byer ON personer.bosted = byer.bynavn
navn bosted bynavn fylke
Ola Nordmann Oslo Oslo Oslo
Navn Navnesen Bergen Bergen Hordaland
Kari Nordmann Oslo Oslo Oslo
SELECT *
FROM personer
LEFT JOIN byer ON personer.bosted = byer.bynavn
navn bosted bynavn fylke
Ola Nordmann Oslo Oslo Oslo
Navn Navnesen Bergen Bergen Hordaland
Jens Jensen Tromsø NULL
Kari Nordmann Oslo Oslo Oslo
SELECT *
FROM personer
RIGHT JOIN byer ON personer.bosted = byer.bynavn
navn bosted bynavn fylke
Ola Nordmann Oslo Oslo Oslo
Kari Nordmann Oslo Oslo Oslo
Navn Navnesen Bergen Bergen Hordaland
NULL Trondheim Sør-Trøndelag