Duomenų iš kelių lentelių gavimas naudojant SQL vidinius prisijungimus

Vidinis prisijungia prie informacijos, kuri pateikiama dviem ar daugiau duomenų bazių

Vidiniai prisijungimai yra dažniausiai naudojami prisijungiant prie SQL. Jie grąžina tik informaciją, esančią dviejose ar daugiau duomenų bazių lentelėse. Prisijungimo sąlyga nustato, kurie įrašai yra suporuoti kartu ir yra nurodyti WHERE sąlyga. Pavyzdžiui, jei jums reikia vairuotojo / transporto priemonės rungtynių sąrašo, kuriame ir transporto priemonė, ir vairuotojas yra toje pačioje miesto dalyje, ši užduotis atliekama naudojant SQL užklausą:

PASIRINKITE pavardę, pirmą vardą, žymą iš vairuotojų, transporto priemonių, kuriuose drivers.location = vehicles.location

Štai rezultatai:

pravardės pirmojo pavadinimo žyma
----------- ------------ ----
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jokūbas Abraomas J291QR
Jacobs Abraham L990MT

Atkreipkite dėmesį, kad rezultatai yra tiksliai to, ko buvo prašoma. Galima tobulinti užklausą, nurodant papildomus kriterijus WHERE išlyga. Tarkime, kad pradinė užklausa atitinka vairuotojus transporto priemonėms, kurioms jos neturi leidimo vairuoti (sunkvežimių vairuotojai automobiliams ir atvirkščiai). Norėdami išspręsti šią problemą, galite naudoti šį užklausą:

PASIRINKITE pavardę, vardą, žymą, automobilius. Klasę IŠ vairuotojų, transporto priemonių, kuriuose vairuotojai, paskirties vieta = automobiliai, vieta IR vairuotojai. Klasė = automobiliai. Klasė

Šis pavyzdys nurodo klasės atributo šaltinio lentelę, esančią SELECT clause, nes klasė yra dviprasmiška - ji pateikiama abiejose lentelėse. Kodas paprastai nurodo, kuri lentelės stulpelis turi būti įtraukta į užklausos rezultatus. Šiuo atveju tai nesikeičia, nes stulpeliai yra identiški ir jie sujungiami, naudojant lygiagretus. Tačiau, jei stulpeliuose būtų skirtingų duomenų, šis skirtumas būtų labai svarbus. Štai šios užklausos rezultatai:

Vardas, pavardė, etiketės klasė
---------- ------------ ---- ------
Baker Roland H122JM automobilis
Smythe Michael D824HA Sunkvežimis
Jokūbo Abraomo J291QR automobilis

Trūkstamos eilutės sujungė Michael Smythe su automobiliu ir Abraham Jacobs su sunkvežimiu, transporto priemonėmis, kurioms jos neturėjo leidimo vairuoti.

Taip pat galite naudoti vidines jungtis, kad sujungtumėte duomenis iš trijų ar daugiau lentelių .