Join (SQL)

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

JOIN er en SQL-spesifikasjon som benyttes sammen med SELECT for å returnere et resultatsett av opptegnelser fra flere tabeller. Den brukes når man sammen med rader fra hovedtabellen skal kombinere rader fra andre.

JOIN-spesifikasjoner[rediger | rediger kilde]

  • INNER JOIN eller bare JOIN – returnerer kun kombinerte rader.
  • LEFT JOIN – returnerer alle radene fra hovedtabellen og kombinerer dem med rader fra den andre der det er mulig.
  • RIGHT JOIN – returnerer alle radene fra den andre tabellen og kombinerer dem med rader fra hovedtabellen der det er mulig.

Grunnleggende syntaks[rediger | rediger kilde]

En JOIN-spørring ser slik ut:

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

Eksempler[rediger | rediger kilde]

Tabellen personer ser slik ut:

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

Tabellen byer ser slik ut:

bynavn fylke
Oslo Oslo
Bergen Hordaland
Trondheim Sør-Trøndelag
Spørring Returnerer
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