LIITTYMINEN SQL Serveriin: Esimerkkejä sisältävä opetusohjelma

Voimme hakea tietoja useammasta kuin yhdestä taulukosta JOIN-käskyn avulla. SQL-palvelimessa on pääasiassa neljä erilaista JOINS-tyyppiä. Opimme kaikki LIITTYVÄT SQL-palvelin esimerkkien kanssa:

  • SISÄLIITTYMINEN / yksinkertainen liittyminen
  • LEFT OUTTER JOIN/LEFT JOIN
  • RIGHT OUTTER JOIN / RIGHT JOIN
  • TÄYDELLINEN ULKOLIITTYMINEN

INNER JOIN

Tämän tyyppinen SQL-palvelin JOIN palauttaa rivit kaikista taulukoista, joissa liitosehto on tosi. Se vaatii seuraavan syntaksin:

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

Käytämme seuraavia kahta taulukkoa osoittaaksemme tämän:

Opiskelijoiden taulukko:

INNER JOIN

Maksutaulukko:

INNER JOIN

Seuraava komento esittelee SQL-palvelimen INNER JOINin esimerkillä:

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

Komento palauttaa seuraavan:

INNER JOIN

Voimme kertoa opiskelijoille, jotka ovat maksaneet maksunsa. Käytimme molemmissa taulukoissa saraketta, jossa on yhteiset arvot, joka on pääsysarake.

LEFT OUTTER JOIN

Tämäntyyppinen liitos palauttaa kaikki rivit vasemmasta taulukosta sekä oikeanpuoleisen taulukon tietueet vastaavilla arvoilla. Esimerkiksi:

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

Koodi palauttaa seuraavan:

LEFT OUTTER JOIN

Tietueet, joissa ei ole vastaavia arvoja, korvataan vastaavissa sarakkeissa NULL-arvoilla.

OIKEA ULKOLIITTYMINEN

Tämäntyyppinen liitos palauttaa kaikki rivit oikeanpuoleisesta taulukosta ja vain ne, joilla on vastaavat arvot vasemmassa taulukossa. Esimerkiksi:

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

OUTER JOINS SQL Server -käsky palauttaa seuraavan:

OIKEA ULKOLIITTYMINEN

Syy yllä olevaan tulokseen on se, että kaikki Palkkiotaulukon rivit ovat käytettävissä Opiskelijat-taulukossa, kun ne vastaavat pääsysarakkeeseen.

TÄYDELLINEN ULKOLIITTYMINEN

Tämän tyyppinen liitos palauttaa kaikki rivit molemmista taulukoista NULL-arvoilla, joissa JOIN-ehto ei ole tosi. Esimerkiksi:

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

Koodi palauttaa seuraavan tuloksen FULL OUTER JOINS -kyselyille SQL:

TÄYDELLINEN ULKOLIITTYMINEN