Tietojen hakeminen useista taulukoista SQL-sisäliitosten avulla

Sisäinen liittyy paluuinformaatioihin, jotka näkyvät kahdessa tai useammassa tietokannassa

Sisäiset liitokset ovat yleisimmin käytettyjä SQL-liityksiä. He palauttavat vain kahden tai useamman tietokantataulukon tiedot. Yhteystilanteessa määritetään, mitkä tiedot yhdistetään toisiinsa ja määritellään WHERE-lausekkeessa. Jos esimerkiksi tarvitset luettelon ajoneuvo- ja ajoneuvoyhdistelmistä, joissa sekä ajoneuvo että ohjain sijaitsevat samassa kaupungissa, seuraava tehtävä on SQL- kysely:

SELECT etunimi, etunimi, tag FROM ohjaimet, ajoneuvot WHERE drivers.location = vehicles.location

Seuraavassa on tulokset:

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

Huomaa, että tulokset ovat täsmälleen mitä etsittiin. Kyselyä voidaan edelleen tarkentaa määrittämällä lisäkriteerit WHERE-lausekkeessa. Oletetaan, että alkuperäinen kysely vastaa kuljettajia ajoneuvoihin, joilla heillä ei ole ajokorttia (autojen kuljettajat autolle ja päinvastoin). Voit ratkaista tämän ongelman seuraavan kyselyn avulla:

SELECT etunimi, etunimi, tag, vehicles.class FROM ajurit, ajoneuvot WHERE drivers.location = vehicles.location AND drivers.class = vehicles.class

Tässä esimerkissä määritetään luokan attribuutin lähdetaulukko SELECT-lausekkeessa, koska luokka on epäselvä - se näkyy molemmissa taulukoissa. Koodi määrittäisi yleensä minkä taulukon sarakkeen olisi sisällytettävä kyselyn tuloksiin. Tässä tapauksessa se ei tee eroa, koska sarakkeet ovat identtisiä ja ne liitetään käyttämällä equijoinia. Jos sarakkeet sisälsivät kuitenkin erilaisia ​​tietoja, tämä erottelu olisi kriittinen. Tässä on kyselyn tulokset:

etunimen etunimen tagiluokka
---------------------- ---- ------
Baker Roland H122JM Auto
Smythe Michael D824HA Kuorma-auto
Jacobs Abraham J291QR Auto

Puuttuvat rivit paransivat Michael Smytheä autoon ja Abraham Jacobsin kuorma-autoihin, ajoneuvoilla, joilla ei ollut lupaa ajaa.

Voit myös käyttää sisäisiä liitoksia yhdistämään tietoja kolmesta tai useammasta taulukosta .