Trumpas vidinių sujungimų naudojimas SQL

click fraud protection

Reliacinės duomenų bazės yra stabilus daugelio įmonių. Jie sukurti naudojant kompiuterio kalbą, vadinamą „Structured Query Language“ (SQL). Jei dirbate su santykių duomenų bazės, retkarčiais patikrinsite ar surinksite duomenis, esančius daugiau nei vienoje duomenų bazės lentelėje.

Kas yra SQL JOIN teiginys?

SQL JOIN sakinys leidžia sujungti dvi ar daugiau lentelių, paprastai pagrįstų susijusiu stulpeliu, kad duomenys būtų traktuojami taip, lyg jie būtų vienoje lentelėje. Pačių lentelių jungimas nekeičia.

SQL PRISIJUNGTI yra lankstus ir funkcionalus. Nors sujungimai yra kelių rūšių, vidinis sujungimas yra vienas iš lengviausiai suprantamų ir naudojamų. Pažvelkite į šiuos SQL sakinius, kurie iliustruoja, kaip derinti trijų skirtingų lentelių rezultatus naudojant vidinį sujungimą.

Vidinio prisijungimo pavyzdys

Pavyzdžiui, imk lentelės, kuriose yra tvarkyklės vienoje lentelėje, o transporto priemonės - antroje. Vidinis sujungimas įvyksta, kai transporto priemonė ir vairuotojas yra tame pačiame mieste. Vidinis sujungimas parenka visas abiejų lentelių eilutes, kuriose yra vietos stulpelių atitiktis.

instagram viewer

Toliau pateiktas SQL sakinys sujungia duomenis iš vairuotojų ir transporto priemonių lentelių tais atvejais, kai vairuotojas ir transporto priemonė yra tame pačiame mieste:

PASIRINKITE pavardę, vardą, žymą
IŠ vairuotojų, transporto priemonių
KUR vairuotojai. Vieta = transporto priemonės. Vieta

Ši užklausa pateikia šiuos rezultatus:

pavardės vardo žyma

Kepėjas Rolandas H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobsas Abraomas J291QR
Jacobsas Abraomas L990MT

Išplėskite šį pavyzdį įtraukdami trečią lentelę. Norėdami įtraukti tik vairuotojus ir transporto priemones, esančias savaitgalį atidarytose vietose, įtraukite trečią lentelę į užklausą išplėsdami JOIN sakinį taip:

PASIRINKITE pavardę, vardą, žymą, „open_weekends“
IŠ vairuotojų, transporto priemonių, vietų
KUR vairuotojai. Vieta = transporto priemonės. Vieta
IR transporto priemonės.vieta = vietos.vieta
AND locations.open_weekends = 'Taip'

Ši užklausa pateikia šiuos rezultatus:

pavardės vardo žyma open_weekends

Kepėjas Rolandas H122JM taip
Jacobsas Abraomas J291QR taip
Jacobsas Abraomas L990MY taip

Šis galingas pagrindinio SQL JOIN sakinio išplėtimas sudėtingai sujungia duomenis. Be to, kad derinant lenteles su vidiniu sujungimu, ši technika sujungia kelias lenteles su kitų tipų sujungimais.

Kiti sujungimų tipai

Kai lentelėse yra atitinkamas įrašas, vidiniai sujungimai yra kelias, tačiau kartais vienoje lentelėje nėra susijusio duomenų, prie kurių yra sujungimas, įrašo, todėl užklausa nepavyksta. Šiuo atveju reikalingas išorinis sujungimas, kuris apima vienoje lentelėje esančius rezultatus, tačiau sujungtoje lentelėje nėra atitinkamos atitikties.

Be to, priklausomai nuo aplinkybių, galite pasirinkti naudoti kitokį sujungimo tipą. Šie kiti sujungimų tipai yra:

  • Kairysis išorinis sujungimas (kairysis prisijungimas): Kiekviename kairiosios lentelės įraše yra net tada, jei dešinėje lentelėje nėra atitinkančio įrašo.
  • Dešinysis išorinis sujungimas (dešinysis prisijungimas): grąžina visą reikiamą informaciją iš dešinės lentelės, net jei kairėje lentelėje nėra atitikties.
  • Visiškai prisijungti: Parenka visus įrašus iš dviejų lentelių, neatsižvelgiant į tai, ar jie atitinka prisijungimo sąlygą, ar ne.
instagram story viewer