Join (SQL)
JOIN
(som på norsk i matematisk forstand kan oversettes til skjøt[1]) 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 bareJOIN
– 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 | Inner join Symmetrisk | |
Venstreskjøt | Left join (også kalt left outer join) Rekkefølge-sensistiv | |
Høyreskjøt | 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 | 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 | Returnerer | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SELECT * FROM personer INNER JOIN byer ON personer.bosted = byer.bynavn |
| ||||||||||||||||||||
SELECT * FROM personer LEFT JOIN byer ON personer.bosted = byer.bynavn |
| ||||||||||||||||||||
SELECT * FROM personer RIGHT JOIN byer ON personer.bosted = byer.bynavn |
|
Referanser
- ^ «Matematisk ordliste». matematikkradet.no. Besøkt 14. desember 2021.
- v
- d
- r
Databaser
- Database
- Relasjonsdatabase
- Objektdatabase
- Objektrelasjonell database
- XML
- Databasehåndteringssystem (DBMS)
- Databasemotor
- Datavarehus
- Relasjonsalgebra
- Serialiserbarhet
- Historie
- Nøkler
- Normalisering
- Tabell
- SQL
- NoSQL
- XQuery
- ODBC
- JDBC
- Perl DBI
- Select
- Insert
- Update
- Delete
- Join
- Union
- Create
- Drop
- Utløser
- Visning
- Lagret prosedyre
Autoritetsdata