JOINS i SQL Server: Opplæring med eksempler
Vi kan hente data fra mer enn én tabell ved å bruke JOIN-setningen. Det er hovedsakelig 4 forskjellige typer JOINS i SQL server. Vi vil lære alle BLI MED SQL-server med eksempler:
- INDRE SAMLING/enkel sammenføyning
- VENSTRE YTRE SKJØTTE/VENSTRE SKJØT
- HØYRE YTRE SKJØT/HØYRE SKJØT
- FULL YTRE SAMLING
INNER JOIN
Denne typen SQL-server JOIN returnerer rader fra alle tabeller der sammenføyningsbetingelsen er sann. Det tar følgende syntaks:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Vi vil bruke følgende to tabeller for å demonstrere dette:
Elevtabell:
Gebyrtabell:
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 fortelle studentene hvem som har betalt kontingent. Vi brukte kolonnen med felles verdier i begge tabellene, som er opptakskolonnen.
VENSTRE YTRE MEDLEM
Denne typen sammenføyning vil returnere alle rader fra venstre tabell pluss poster i høyre tabell med samsvarende verdier. 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:
Postene uten samsvarende verdier erstattes med NULL i de respektive kolonnene.
HØYRE YTRE BLI MED
Denne typen sammenføyning returnerer alle rader fra den høyre tabellen og bare de med samsvarende verdier i den venstre tabellen. For eksempel:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
Utsagnet for OUTER JOINS SQL-server returnerer følgende:
Årsaken til utdataene ovenfor er at alle radene i Gebyrtabellen er tilgjengelige i Studenttabellen når de matches i opptakskolonnen.
FULL YTRE SAMLING
Denne typen sammenføyning returnerer alle rader fra begge tabellene med NULL-verdier der JOIN-betingelsen ikke er sann. 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-spørringer i SQL: