SQL JOIN (Norsk)

Hvordan får jeg data fra flere tabeller?

En SQL JOIN kombinerer poster fra to tabeller.
A JOIN lokaliserer relaterte kolonneverdier i de to tabellene.
Et spørsmål kan inneholde null, en eller flere JOIN-operasjoner.
INNER JOIN er det samme som JOIN; nøkkelordet INNER er valgfritt.

Fire forskjellige typer JOIN

  1. (INNER) JOIN: Velg poster som har samsvarende verdier i begge tabellene.
  2. FULL (YTRE) JOIN: Velger alle poster som samsvarer med enten venstre eller høyre tabellposter.
  3. LEFT (YTRE) JOIN: Velg poster fra første (lengst til venstre) tabell med samsvarende høyre tabellposter.
  4. HØYRE (YTRE) BLI MED: Velg poster fra den andre (høyre) tabellen med samsvarende venstre tabellposter.

Merk: Alle INNRE og YTRE nøkkelord er valgfrie.
Detaljer om de forskjellige JOIN-ene er tilgjengelige på påfølgende opplæringssider.

SQL BLI MED syntaks

Den generelle syntaksen er

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

Den generelle syntaksen med INNER er:

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

Merk: INNER-nøkkelordet er valgfritt: det er standard så vel som den mest brukte JOIN-operasjonen.

KUNDE

Id

Firs tName

Etternavn

By

Land

Telefon

BESTILLING

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

SQL JOIN Eksempler

Problem: Liste alle bestillinger med kundeinformasjon

I dette eksemplet kan det være nyttig å bruke tabellaliaser for og kunde.

Resultat: 830 poster.
OrderNumber TotalAmount FirstName LastName City Country
542378 440,00 Paul Henriot Reims Frankrike
542379 1863.40 Karin Josephs Münster Tyskland
542380 1813.00 Mario Pontes Rio de Janeiro Brasil
542381 670,80 Mary Saveley Lyon Frankrike
542382 3730,00 Pascale Cartrain Charleroi Belgia
542383 1444,80 Mario Pontes Rio de Janeiro Brasil
542384 625,20 Yang Wang Bern Sveits

PRODUKT

Id

Produktnavn

SupplierId

UnitPrice

Package

IsDontontinued

BESTILLING

Id

OrderId

ProductId

UnitPrice

Mengde

BESTILLING

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

Problem: Liste opp alle bestillinger med produktnavn,
mengder og priser
Dette spørsmålet utfører to JOIN-operasjoner med 3 tabeller.
O, I og P er tabellaliaser . Dato er et kolonnealias.
Resultat: 2155 poster

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *