Un ghid rapid pentru utilizarea îmbinărilor interioare în SQL

click fraud protection

Bazele de date relaționale sunt un stabil al multor companii. Acestea sunt create cu un limbaj de calculator numit Structured Query Language (SQL). Dacă lucrați cu relațional baze de date, veți examina sau colecta ocazional date care se află în mai multe tabele ale bazei de date.

Ce este o declarație SQL JOIN?

O instrucțiune SQL JOIN face posibilă asocierea a două sau mai multe tabele, de obicei pe baza unei coloane conexe, astfel încât datele să fie tratate ca și cum ar fi situate într-un singur tabel. Tabelele în sine nu sunt modificate de unire.

SQL JOIN este flexibil și funcțional. Deși există mai multe tipuri de îmbinări, îmbinarea interioară este una dintre cele mai ușor de înțeles și de utilizat. Aruncați o privire la următoarele afirmații SQL care ilustrează cum să combinați rezultatele din trei tabele diferite folosind o îmbinare interioară.

Exemplu de alăturare interioară

De exemplu, luați tabele care conțin drivere într-o masă și meciuri de vehicule în a doua. Îmbinarea interioară are loc în cazul în care atât vehiculul, cât și șoferul sunt situate în același oraș. Îmbinarea interioară selectează toate rândurile din ambele tabele care conțin o potrivire între coloanele de locație.

instagram viewer

Instrucțiunea SQL de mai jos combină datele din tabelele Drivere și Vehicule în cazurile în care șoferul și vehiculul se află în același oraș:

Alegeți numele, prenumele, eticheta
DE LA șoferi, vehicule
UNDE șoferi.location = vehicule.location

Această interogare produce următoarele rezultate:

etichetă prenume prenume

Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Acum, extindeți acest exemplu pentru a include un al treilea tabel. Pentru a include doar șoferii și vehiculele prezente în locațiile deschise în weekend, introduceți un al treilea tabel în interogare extinzând declarația JOIN după cum urmează:

SELECT nume, prenume, etichetă, open_weekends
DE LA șoferi, vehicule, locații
UNDE șoferi.location = vehicule.location
AND vehicles.location = locații.location
AND locations.open_weekends = 'Da'

Această interogare produce următoarele rezultate:

etichetă prenume prenume open_weekends

Baker Roland H122JM da
Jacobs Abraham J291QR da
Jacobs Abraham L990MY da

Această extensie puternică la declarația de bază SQL JOIN combină datele într-un mod complex. Pe lângă combinarea tabelelor cu o îmbinare interioară, această tehnică combină mai multe tabele cu alte tipuri de îmbinări.

Alte tipuri de îmbinări

Când tabelele au o înregistrare potrivită, îmbinările interioare sunt calea de urmat, dar uneori un tabel nu are o înregistrare legată pentru datele pe care este construită asocierea, astfel încât interogarea eșuează. Acest caz necesită un îmbinare exterioară, care include rezultatele care există într-un singur tabel, dar nu are o potrivire corespunzătoare în tabelul unit.

În plus, puteți alege să utilizați un alt tip de asociere, în funcție de circumstanțe. Aceste alte tipuri de îmbinări sunt:

  • Îmbinarea exterioară stângă (îmbinare la stânga): Conține fiecare înregistrare din tabelul din stânga, chiar dacă tabelul din dreapta nu are o înregistrare potrivită.
  • Îmbinarea exterioară dreaptă (unire dreapta): returnează toate informațiile relevante din tabelul din dreapta, chiar dacă tabelul din stânga nu are o potrivire.
  • Alăturați-vă complet: Selectează toate înregistrările din două tabele, indiferent dacă au sau nu o condiție de asociere potrivită.
instagram story viewer