SQL-iga liitumine mitmel tingimusel

Sql Iga Liitumine Mitmel Tingimusel



Relatsiooniandmebaaside üks levinumaid omadusi on liitumised. SQL-i ühendused viitavad kahe või enama tabeli andmete kombineerimise protsessile standardfunktsioonide või veergude põhjal üheks tulemuskomplektiks.

Tabelite ühendamine võimaldab meil ühe päringuga hankida mitme tabeli vahel salvestatud andmed, mis teeb sellest võimsa andmeanalüüsi ja aruandluse tööriista.







Selles õpetuses avastame, kuidas SQL-i liite teha mitmel tingimusel. Õpime kasutama loogilisi operaatoreid 'JA' ja 'OR' andmete ühendamiseks mitmel tingimusel.



SQL liitub mitmel tingimusel

Saame määrata mitu tingimust, kasutades SQL-is tehteid JA või VÕI. Need operaatorid võimaldavad meil määratleda Boole'i ​​avaldiste komplekti, mida seejärel hinnatakse ja võrreldakse saadud hulgaga.



Kasutame operaatorit JA, et tagada kõigi määratud tingimuste paikapidamine. Kui kasvõi üks tingimus ei ole tõene, muudetakse kogu avaldis vääraks. See muudab AND-operaatori erakordseks tööriistaks andmete äärmuslikuks filtreerimiseks.





Teisest küljest kasutame operaatorit VÕI, kui vajame, et vähemalt üks tingimus oleks tõene. See muudab selle 'lõdvamaks' andmefiltreerimismeetodiks, kuna saadud kirje peab vastama ainult vähemalt ühele määratletud parameetrile.

AND- ja OR-operaatorite funktsionaalsus ei muutu isegi SQL-i liitumiste korral.



SQL-i mitme liitumise näide

Et mõista, kuidas liitetega mitmel tingimusel töötada, on kõige parem kasutada näidet.

Selle demonstratsiooni jaoks kasutame Sakila andmebaasi, mis töötati välja SQL-i kõigi võimaluste uurimiseks.

Oletame, et tahame tuua andmed filmist ja tabelitest film_actor. Esiteks tahame leida kõik filmis osalenud näitlejad, kelle reiting on PG või PG-13 ja kelle pikkus jääb vahemikku 90–120.

Sellise stsenaariumi korral peame ühendama mitme tingimusega, nagu on näidatud järgmises:

VALI näitleja.eesnimi, näitleja.perenimi, film.pealkiri, filmi.väljalaskeaasta, film.reiting
näitlejalt
LIITU filmi_näitlejaga näitleja.näitleja_id = filmi_näitleja.näitleja_id
LIITU filmiga filmi_näitleja.filmi_id = film.filmi_id
KUS film.pikkus VAHEL 90 JA 120
JA film.rating IN ( 'PG' , 'PG-13' ) ;


Nagu näete eelmisest päringust, käsime SQL-il teostada actor ja tabelite film_actor vaheline liitmine veeru actor_id alusel. Samuti teostame filmi_näitleja ja filmitabelite vahelise ühenduse, kasutades veergu film_id. Samuti tagame kahe tingimuse määratlemise, kasutades WHERE-klauslit, et filtreerida tulemuste tabel väljalaskeaasta ja filmi pikkuse alusel.

Saadud tabel on järgmine:


Samuti saame määrata mitu tingimust operaatori VÕI põhjal, nagu on näidatud järgmises näidispäringus:

VALI film.pealkiri, filmi.laenutuse_määr, kategooria.nimi
Filmist
JOIN film_category SEES film.filmi_id = filmi_kategooria.filmi_id
LIITU kategooriaga filmi_kategooria.kategooria_id = kategooria.kategooria_id
KUS kategooria.nimi IN ( 'tegevus' , 'komöödia' )
JA film.rental_rate > 3.00 ;


Saadud tabel on järgmine:

Järeldus

Selles õpetuses uuriti, kuidas töötada SQL-ühendustega mitmel tingimusel, kasutades operaatoreid JA ja VÕI. See tagab täpsema andmete filtreerimise.