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:
Maksutaulukko:
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:
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:
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:
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: