JOINS i SQL Server: Tutorial med eksempler

Vi kan hente data fra mere end รฉn tabel ved hjรฆlp af JOIN-sรฆtningen. Der er hovedsageligt 4 forskellige typer JOINS i SQL server. Vi lรฆrer alle JOINS in SQL-server med eksempler:

  • INDRE JOIN/simpel tilslutning
  • VENSTRE YDRE JOIN/LEFT JOIN
  • Hร˜JRE YDRE SAMLING/Hร˜JRE JOIN
  • FULD YDRE TILSLUTNING

INNER JOIN

Denne type SQL-server JOIN returnerer rรฆkker fra alle tabeller, hvor join-betingelsen er sand. Det tager fรธlgende syntaks:

SELECT columns
FROM table_1 
INNER JOIN table_2
ON table_1.column = table_2.column;

Vi vil bruge fรธlgende to tabeller til at demonstrere dette:

Elev tabel:

INNER JOIN

Gebyr tabel:

INNER JOIN

Fรธlgende kommando demonstrerer en INNER JOIN i SQL-server med eksempel:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

Kommandoen returnerer fรธlgende:

INNER JOIN

Vi kan fortรฆlle eleverne, hvem der har betalt deres kontingent. Vi brugte kolonnen med fรฆlles vรฆrdier i begge tabeller, som er optagelseskolonnen.

VENSTRE YDRE JOIN

Denne type join vil returnere alle rรฆkker fra den venstre tabel plus poster i den hรธjre tabel med matchende vรฆrdier. For eksempel:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

Koden returnerer fรธlgende:

VENSTRE YDRE JOIN

Posterne uden matchende vรฆrdier erstattes med NULLs i de respektive kolonner.

Hร˜JRE YDRE JOIN

Denne type join returnerer alle rรฆkker fra den hรธjre tabel og kun dem med matchende vรฆrdier i den venstre tabel. For eksempel:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
RIGHT OUTER JOIN Fee
ON Students.admission = Fee.admission

Sรฆtningen for OUTER JOINS SQL-server returnerer fรธlgende:

Hร˜JRE YDRE JOIN

ร…rsagen til ovenstรฅende output er, at alle rรฆkker i gebyrtabellen er tilgรฆngelige i tabellen Studerende, nรฅr de matches i optagelseskolonnen.

FULD YDRE TILSLUTNING

Denne type join returnerer alle rรฆkker fra begge tabeller med NULL-vรฆrdier, hvor JOIN-betingelsen ikke er sand. For eksempel:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
FULL OUTER JOIN Fee
ON Students.admission = Fee.admission

Koden returnerer fรธlgende resultat for FULL OUTER JOINS-forespรธrgsler i SQL:

FULD YDRE TILSLUTNING

Opsummer dette indlรฆg med: