SQL OUTER JOIN (Dansk)
Resumé: i denne vejledning lærer du at bruge SQL ydre sammenføjning inklusive venstre ydre sammenføjning, højre ydre sammenføjning og fuld ydre sammenføjning.
Hvis du vil lære mere om SQL INNER JOIN, skal du tjekke det ud i SQL INNER JOIN-vejledningen.
Der er tre slags OUTER JOIN: venstre ydre sammenføjning, højre ydre sammenføjning og fuld ydre sammenføjning. Lad os undersøge hver type sammenføjning mere detaljeret.
SQL OUTER JOIN – venstre ydre sammenføjning
SQL venstre ydre sammenføjning er også kendt som SQL venstre sammenføjning. Antag, vi vil sammenføje to tabeller: A og B. SQL venstre ydre sammenføjning returnerer alle rækker i venstre tabel (A) og alle de matchende rækker, der findes i højre tabel (B). Det betyder, at resultatet af SQL-venstre sammenføjning altid indeholder rækkerne i venstre tabel.
Følgende illustrerer SQL venstre ydre syntaks for sammenføjning af 2 tabeller: tabel_A og tabel_B:
1
2
3
4
|
SELECT column1, column2 …
FROM table_A
LEFT JOIN table_B ON join_condition
WHERE række_tilstand
|
SQL OUTER JOIN – venstre ydre sammenføjningseksempel
Følgende forespørgsel vælger alle kunder og deres ordrer:
1
2
3
4
5
6
|
VÆLG c.customerid,
c.companyName,
orderid
FRA kunder c
LEFT JOIN ordrer o PÅ o.customerid = c .kunderid
BESTIL EFTER ordre
|
Alle rækker i kundetabellen vises. Hvis der ikke findes nogen matchende række i ordretabellen for rækken i kundetabellen, er kolonnen orderid i ordretabellen udfyldt med NULL-værdier.
Vi kan bruge Venn-diagram til at visualisere, hvordan SQL VENSTRE OUTER JOIN fungerer.
SQL OUTER JOIN – højre ydre sammenføjning
SQL højre ydre sammenføjning returnerer alle rækker i den rigtige tabel og alle de matchende rækker, der findes i venstre tabel. Syntaksen for SQL højre ydre sammenføjning er som følger:
1
2
3
4
|
VÆLG kolonne1, kolonne2 …
FRA table_A
RIGHT JOIN table_B ON join_condition
WHERE row_condition
|
SQL højre ydre sammenføjning er også kendt som SQL højre sammenføjning.
SQL OUTER JOIN – højre ydre sammenføjningseksempel
Følgende eksempel viser SQL højre ydre sammenføjning:
1
2
3
4
5
6
|
VÆLG c.customerid,
c.virksomhedsnavn,
orderi d
FRA kunder c
RIGHT JOIN ordrer o PÅ o.customerid = c.customerid
ORDER BY orderid
|
Forespørgslen returnerer alle rækker i ordretabellen og alle matchende rækker, der findes i kundetabellen.
Følgende Venn-diagram illustrerer, hvordan SQL højre ydre sammenføjning fungerer:
SQL OUTER JOIN – fuld ydre sammenføjning
Syntaksen for SQL fuld ydre sammenføjning er som følger:
1
2
3
4
|
VÆLG kolonne1, kolonne2 …
FRA table_A
FULD OUTER JOIN table_B ON join_condition
WHERE row_condition
|
SQL fuld ydre sammenføjning returnerer:
- all ro ws i venstre tabel tabel_A.
- alle rækker i højre tabel tabel_B.
- og alle matchende rækker i begge tabeller.
En eller anden database styringssystemer understøtter ikke SQL fuld ydre sammenføjningssyntaks, fx MySQL. Fordi SQL fuld ydre sammenføjning returnerer et resultatsæt, der er et kombineret resultat af både SQL venstre sammenføjning og SQL højre sammenføjning.Derfor kan du nemt efterligne SQL fuld ydre sammenføjning ved hjælp af SQL venstre sammenføjning og SQL højre sammenføjning med UNION-operatøren som følger:
SQL OUTER JOIN – fuldt ydre sammenføjningseksempel
Følgende forespørgsel viser SQL fuld ydre sammenføjning:
1
2
3
4
5
6
|
VÆLG c.customerid,
c.companyName,
orderid
FRA kunder c
FULD OUTER JOIN ordrer o PÅ o.customerid = c.customerid
BESTIL EFTER ordre
|
Følgende Venn-diagram illustrerer, hvordan SQL fuld ydre sammenføjning fungerer:
I denne vejledning har du lært om forskellige SQL OUTER JOIN inklusive SQL left join, SQL right join og SQL fuld ydre join.
- Var denne tutorial nyttig?
- Ja Nej