Join (SQL)

JOIN  (som på norsk oversettes til skjøt) er en SQL-spesifikasjon som benyttes sammen med SELECT for å returnere en resultatmengde av opptegnelser fra flere tabeller, altså en «sammenføyning». Den brukes når man sammen med rader fra hovedtabellen skal kombinere rader fra andre.

JOIN-spesifikasjoner
 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.

Ulike rotasjoner av to tabeller:

 Figurer 
 Operasjon Figur Kommentar Innerskjøt 250px Inner join
Symmetrisk Venstreskjøt 250px Left join (også kalt left outer join)
Rekkefølge-sensistiv Høyreskjøt 250px Right join (også kalt right outer join)
Rekkefølge-sensistiv

I praksis svært lite brukt, da den tilsvarer venstreskjøt dersom argumentene gis i omvendt rekkefølge Fullskjøt 250px Full join (også kalt full outer join)
Symmetrisk

Grunnleggende syntaks
En JOIN-spørring ser slik ut:
SELECT tabell1.kolonne2, tabell2.*
FROM tabell1
JOIN tabell2 ON tabell1.kolonne1 = tabell2.kolonne

Eksempler
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 ReturnererSELECT *
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 OsloSELECT *
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 OsloSELECT *
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

 Referanser 

Kategori:SQL