Andmete hankimine mitmest tabelist koos SQL sisemise liituga

Sisemine liitub teabega, mis kuvatakse kahes või enamas andmebaasis

Siseühendused on kõige sagedamini kasutatavad SQL-i ühendused. Nad tagastavad ainult kahe või enama andmebaasi tabelis oleva teabe. Liitumise tingimus määrab kindlaks, millised kirjed on kokku ühendatud ja on määratud WHERE-klausliga. Näiteks, kui vajate draiveri / sõidukitüübi nimekirja, milles nii sõiduk ja juht asuvad samas linnas, täidab see ülesanne järgmine SQL päring:

SELECT eesnimi, eesnimi, märgis draiveritest, sõidukid, kus draiverid.Location = vehicles.location

Siin on tulemused:

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

Pange tähele, et tulemused on täpselt nii, nagu otsiti. Päringut on võimalik täiendavalt täiendada, täpsustades lisatingimusi WHERE klauslis. Oletame, et algne päring vastab draiveritele sõidukitel, millele neil pole juhtimisõigust (veoautojuhid autodele ja vastupidi). Selle probleemi lahendamiseks võite kasutada järgmist päringut:

SELECT eesnimi, eesnimi, silt, sõidukid.klass autojuhte, sõidukeid, kus juhtide asukoht on = sõiduki asukoht ja autojuhid. Klass = sõidukid. Klass

Selles näites määratletakse klassi atribuudi lähtekood tabelis SELECT, kuna klass on mitmetähenduslik - see ilmub mõlemas tabelis. Kood näitab tavaliselt, milline tabeli veerg peaks päringu tulemustes olema. Sellisel juhul ei tee see vahet, kuna veerud on identsed ja need ühendatakse võrguühenduse abil. Kuid kui veerud sisaldavad erinevaid andmeid, oleks selline eristamine kriitiline. Siin on selle päringu tulemused:

perekonnanimi eesnimi tag klass
---------- ------------ ---- ------
Baker Roland H122JM auto
Smythe Michael D824HA Veoauto
Jacobs Abraham J291QR Car

Puuduvad ridad ühendasid Michael Smythe autoga ja Abraham Jacobsiga veoautoga, sõidukid, millele neil ei olnud sõiduõigust.

Võite kasutada ka sisemisi ühendusi, et kombineerida andmeid kolmest või enamast tabelist .