Liitumiste tüübid SQL Serveris - SQL Serveri 5 parimat liitumist näidetega

Lang L: none (table-of-contents):

Anonim

Ülevaade liitumiste tüüpidest SQL Serveris

Liitumisklausel, märksõna LIITU liidetakse mitu tabelit ühte tulemikomplekti. FROM-lause peab sisaldama kõiki tabeleid. Eraldab iga tabeli komaga, kuhu tavaliselt kuulub koma.

Saame lisada tõeväärtuse avaldise, mis tagastab tõese või vale väärtuse ning need avaldised võivad viidata kõigi tabelite veergudele.

Liitumiste tüübid SQL Serveris

Liitumisi on erinevat tüüpi

  • RISTI LIITUMINE
  • Siseühendus
  • VÄLISLIITUMINE
  1. VASAK VÄLISLIITUMINE
  2. ÕIGE VÄLISLIITUMINE
  • TÄIELIK VÄLISLIITUMINE
  • ISESTI LIITU

Mõistagem üksikasjalikult kõiki neid liitumisi: -

1) Ristliitumine

  • See on kõige lihtsam liituda
  • Tagastab mõlemad read mõlemad read
  • Ei WHERE klauslit
  • See on ka kõige vähem kasulik
  • See on väga ebaefektiivne
  • See loob Cartesiuse toote
  • CROSS märksõna vihjatakse

Näide

Nii et kõik esimesest tabelist alates, alates iga teise tabeli andmetega, ei ürita mingil viisil sobitada, nii et see on asi, mida te ei soovi teha.

Otsige fraasi FROM, kus teil on mitu tabelit ja kus WHERE klauslit pole.

2) sisemine liitumine

Päringu väljund:

Teie alg- ja viimasel real on C2-ga seotud koordinatsiooniväärtused. Keskmised read tavaliselt ei vasta. Viimane lõpptulemus annab kõik väärtused nii algse kui ka viimase rea kaudu, kuid ei sisalda seda mittevastavat keskmist sektsiooni.

  • See on kõige tüüpilisem LIITUMINE
  • See rõhutas andmebaasi relatiivset olemust
  • See võimaldab meil võrrelda ühe tabeli veeru väärtust teise tabeli veeru väärtusega.
  • Primaarvõti ühes tabelis ja võõrvõti ühes teises tabelis.

Näide

Siin on p.person_id meie peamises võtmes meie inimeste tabelis,

email_address_person_id on meie võõras võti e-posti aadresside tabelis.

Heidame pilgu inimeste lauale

Meil on need neli rida. Ja siis kõik vasted e-posti aadressi tabelis.

Lõpuks peaks kokku saama kolm inimest, sest meil on inimene Shannon, kellel pole e-posti aadressi

Päringu väljund:

Seega saame andmeid ainult siis, kui igas tabelis on kaks veergu kokkulangevad

3) välimine liitumine

  • INNER JOIN ei käsitle NULL-i väärtusi
  • VÄLISLIITMINE töötab isegi siis, kui teises tabelis mängu pole.
  • NULL veergu, kui teises tabelis vastet pole
  • TÄIELIK VÄLIS LIITUMINE tagastage kõik ühendatud read
  • NULL, kui kummaski tabelis pole vastet

a) Vasakpoolne liitumine

Päringu väljund: Olete ka algne ning viimastel ridadel on C2-ga seotud koordinatsiooniväärtused. Keskmised read tavaliselt ei vasta. Viimane lõpptulemus võib säilitada esimese tabeli kõik read, kuid tegelikult jätab sobimatu rea läbi teise tabeli.

  • Veel üks NULL-iga seotud JOON
  • Kõik vasakpoolsed read tagastatakse
  • Parema küljega tabeli mittevastavuse korral NULL

Näide

Päringu väljund:

Panite tähele, et tabelis Isik on üks rida, millel pole e-posti aadressi tabelis väärtusi. Nii et VASAKUTE LIIDU annab meile.

b) Parempoolne väline liitumine

Päringu väljund:

Olete ka algne ning viimastel ridadel on C2-ga seotud koordinatsiooniväärtused. Keskmised read tavaliselt ei vasta. Viimane lõpptulemus võib säilitada teise tabeli kõik read, kuid tegelikult jätab sobimatu rea esimese tabeli kaudu välja.

  • Vasakpoolse välimise liitumise vastand
  • Kõik parempoolsed read tagastatakse
  • NULL mittevastava vasakpoolse laua jaoks

Näide Päringu väljund:

Saame kolm tulemust. Siin on meie PAREMA VÄLISLIITMISE tulemus, kus meil e-posti aadressi tabelist on rida, millel pole parempoolses tabelis vastavat rida.

4) täielik välimine liitumine

Näide

Päringu väljund:

Saame ühendada VASAK VÄLJU LIITUMISE ja ÕIGE VÄLISE LIITUMISE tulemuse

5) Ise liituda

  • SELF pole märksõna. Just selle idee järgi saate laua ise koostada
  • Veider, kuid mõnikord kasulik
  • Spetsiaalset süntaksit pole
  • Sama tabel vasakul ja paremal küljel JOIN
  • Kasulik, kui tabel sisaldab hierarhilisi andmeid

Näide

VALI *

Tellimustest

Liitu liitudega

SISSE tellimused.tellimus_id = tellimused.tellimused_id;

Saame tellimuste tabeli ja tellimuste tabeli ning Liituge tabeliga, valides SELECT kõik veerud.

Tulemuse saamiseks.

Järeldus:

Liitumised on viis, kuidas me saame suhtemudeli ellu viia. Relatsioonimudel seisneb selles, et andmed eraldatakse, normaliseeritakse mitmesse tabelisse, kuid kui me tahame neid seoseid näha, saab need uuesti kokku viia. Ja erinevad liited võimaldavad meil seda teha pisut erineval viisil.

Soovitatavad artiklid

See on SQL-i serveri liitumistüüpide juhend. Siin käsitleme SQL-i liitumiste ülevaadet ja tüüpe koos nende näidetega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on SQL Server?
  2. Karjäär SQL Serveris
  3. PL SQL koolitus
  4. MySQL-i operaatorid
  5. MySQL-i 6 parimat liitumistüüpi koos näidetega