Preluarea datelor din mai multe tabele cu SQL Inner Joins

Inner se alătură informațiilor de returnare care apar în două sau mai multe baze de date

Intrările interne sunt cele mai frecvent utilizate conexiuni în SQL. Ele returnează numai informațiile care există în două sau mai multe tabele de baze de date. Condiția de conectare determină ce înregistrări sunt asociate împreună și este specificată în clauza WHERE. De exemplu, dacă aveți nevoie de o listă de potriviri pentru șofer / vehicul în care atât vehiculul cât și șoferul sunt situate în același oraș, următoarea interogare SQL îndeplinește această sarcină:

SELECTă numele de familie, numele, eticheta FROM drivere, vehiculele WHERE drivers.location = vehicles.location

Iată rezultatele:

nume de familie cu numele primului nume
----------- ------------ ----
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Rețineți că rezultatele sunt exact căutate. Este posibilă rafinarea în continuare a interogării prin specificarea unor criterii suplimentare în clauza WHERE. Să presupunem că interogarea originală se potrivește cu driverele vehiculelor pe care nu sunt autorizate să le conducă (șoferii de camioane la mașini și viceversa). Puteți utiliza următoarea interogare pentru a rezolva această problemă:

SELECT numele, prenumele, eticheta, vehiculul.class DIN driverele, vehiculele WHERE drivers.location = vehicles.location AND drivers.class = vehicles.class

Acest exemplu specifică tabela sursă pentru atributul class din clauza SELECT deoarece clasa este ambiguă - apare în ambele tabele. Codul ar specifica, de obicei, ce coloană de tabelă ar trebui inclusă în rezultatele interogării. În acest caz, nu are nicio diferență, deoarece coloanele sunt identice și sunt îmbinate folosind un equijoin. Cu toate acestea, dacă coloanele conțin date diferite, această distincție ar fi critică. Iată rezultatele acestei interogări:

numele clasei de tag-uri de prim-nume
---------- ------------ ---- ------
Baker Roland H122JM Mașină
Smythe Michael D824HA Camion
Jacobs Abraham J291QR Mașină

Rândurile dispărute au alăturat lui Michael Smythe unei mașini și lui Abraham Jacobs unui camion, vehicule pe care nu erau autorizate să conducă.

De asemenea, puteți utiliza îmbinările interne pentru a combina datele din trei sau mai multe tabele .