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:
Gebyr tabel:
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:
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:
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:
ร 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:






