SQL JOIN (Svenska)

Hur får jag data från flera tabeller?

En SQL JOIN kombinerar poster från två tabeller.
A JOIN lokaliserar relaterade kolumnvärden i de två tabellerna.
En fråga kan innehålla noll, en eller flera JOIN-åtgärder.
INNER JOIN är samma som JOIN; nyckelordet INNER är valfritt.

Fyra olika typer av JOIN

  1. (INNER) JOIN: Välj poster som har matchande värden i båda tabellerna.
  2. FULL (OUTER) JOIN: Väljer alla poster som matchar antingen vänster eller höger tabellposter.
  3. VÄNSTER (YTRE) JOIN: Välj poster från första (längst till vänster) tabellen med matchande högra tabellposter.
  4. HÖGER (YTTRE) GÅ MED: Välj poster från den andra (högst till höger) tabellen med matchande vänstra tabellposter.

Obs! Alla INNER- och OUTER-nyckelord är valfria.
Detaljer om de olika JOIN: erna finns på efterföljande handledningssidor.

SQL GÅ MED syntax

Den allmänna syntaxen är

SELECT column-names FROM table-name1 JOIN table-name2 ON column-name1 = column-name2 WHERE condition

Den allmänna syntaxen med INNER är:

SELECT column-names FROM table-name1 INNER JOIN table-name2 ON column-name1 = column-name2 WHERE condition

Obs! Nyckelordet INNER är valfritt: det är både standard och den vanligaste JOIN-åtgärden.

KUND

Id

Firs tName

Efternamn

Ort

Land

Telefon

BESTÄLLNING

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

SQL JOIN Exempel

Problem: Lista alla beställningar med kundinformation

I det här exemplet kan det vara bra att använda tabellalias för och kund.

Resultat: 830 poster.
OrderNumber TotalAmount Förnamn Efternamn Ort Land
542378 440,00 Paul Henriot Reims Frankrike
542379 1863.40 Karin Josephs Münster Tyskland
542380 1813.00 Mario Pontes Rio de Janeiro Brasilien
542381 670,80 Mary Saveley Lyon Frankrike
542382 3730,00 Pascale Cartrain Charleroi Belgien
542383 1444,80 Mario Pontes Rio de Janeiro Brasilien
542384 625,20 Yang Wang Bern Schweiz

PRODUKT

Id

Produktnamn

SupplierId

UnitPrice

Package

IsDiscontinued

BESTÄLLNING

Id

OrderId

ProductId

Enhetspris

Kvantitet

BESTÄLLNING

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

Problem: Lista alla beställningar med produktnamn,
kvantiteter och priser
Denna fråga utför två JOIN-operationer med 3 tabeller.
O, I och P är tabellalias . Datum är en kolumn Alias.
Resultat: 2155 poster

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *