SQL Join sa Maramihang Kundisyon

Sql Join Sa Maramihang Kundisyon



Isa sa mga pinaka-laganap na tampok ng relational database ay ang pagsali. Ang SQL joins ay tumutukoy sa proseso ng pagsasama-sama ng data mula sa dalawa o higit pang mga talahanayan sa isang set ng resulta batay sa mga karaniwang feature o column.

Ang pagsali sa mga talahanayan ay nagbibigay-daan sa amin na makuha ang data na nakaimbak sa maraming talahanayan sa isang query na ginagawa itong isang mahusay na tool para sa pagsusuri at pag-uulat ng data.







Sa tutorial na ito, matutuklasan natin kung paano isagawa ang SQL joins sa maraming kundisyon. Matututuhan nating gamitin ang mga lohikal na operator na “AT” at “O” para sumali sa data batay sa maraming kundisyon.



Sumasali ang SQL sa Maramihang Kundisyon

Maaari naming tukuyin ang maraming kundisyon gamit ang AND o OR na mga operator sa SQL. Binibigyang-daan kami ng mga operator na ito na tumukoy ng isang set ng mga Boolean na expression na pagkatapos ay susuriin at ihahambing laban sa resultang set.



Ginagamit namin ang operator ng AND upang matiyak na totoo ang lahat ng tinukoy na kundisyon. Kung kahit isa sa mga kundisyon ay hindi totoo, ang buong expression ay magiging mali. Ginagawa nitong isang natatanging tool ang operator ng AND para sa matinding pag-filter ng data.





Sa kabilang banda, ginagamit namin ang operator na OR kapag kailangan namin ng kahit isa sa mga kundisyon upang maging totoo. Ginagawa nitong isang mas 'maluwag' na paraan ng pag-filter ng data dahil ang resultang tala ay dapat lamang matupad ang hindi bababa sa isang tinukoy na parameter.

Ang functionality ng AND at OR operator ay hindi nagbabago kahit na sa kaso ng SQL joins.



Halimbawa ng SQL Multiple Joins

Upang maunawaan kung paano magtrabaho sa mga pagsali sa maraming kundisyon, pinakamahusay na magtrabaho kasama ang isang halimbawa.

Para sa pagpapakitang ito, ginagamit namin ang database ng Sakila na binuo upang tuklasin ang buong kakayahan ng SQL.

Ipagpalagay na gusto nating kunin ang data mula sa pelikula at sa mga talahanayan ng film_actor. Una, gusto naming hanapin ang lahat ng aktor na nagbida sa pelikula na may rating na PG o PG-13 at may haba sa pagitan ng 90 at 120.

Sa tulad ng senaryo, kailangan naming magsagawa ng pagsali na may maraming kundisyon tulad ng ipinapakita sa sumusunod:

SELECT actor.first_name, actor.last_name, film.title, film.release_year, film.rating
MULA sa aktor
SUMALI sa film_actor SA actor.actor_id = film_actor.actor_id
SUMALI sa pelikula SA film_actor.film_id = film.film_id
SAAN pelikula.haba PAGITAN 90 AT 120
AT pelikula.rating IN ( 'PG' , 'PG-13' ) ;


Gaya ng nakikita mo mula sa nakaraang query, sinasabi namin sa SQL na magsagawa ng pagsasama sa pagitan ng aktor at ng mga talahanayan ng film_actor batay sa column na actor_id. Gumaganap din kami ng pagsasanib sa pagitan ng film_actor at ng mga talahanayan ng pelikula gamit ang column na film_id. Tinitiyak din naming tutukuyin ang dalawang kundisyon gamit ang sugnay na WHERE upang i-filter ang talahanayan ng resulta batay sa taon ng pagpapalabas at sa haba ng pelikula.

Ang resultang talahanayan ay ang mga sumusunod:


Maaari din naming tukuyin ang maraming kundisyon batay sa OR operator tulad ng ipinapakita sa sumusunod na halimbawang query:

PUMILI ng film.title, film.rental_rate, category.name
MULA sa pelikula
SUMALI sa film_category SA film.film_id = film_category.film_id
SUMALI sa kategorya SA film_category.category_id = category.category_id
WHERE category.name IN ( 'Aksyon' , 'Comedy' )
AT pelikula.renta_rate > 3.00 ;


Ang resultang talahanayan ay ang mga sumusunod:

Konklusyon

Ginalugad ng tutorial na ito kung paano magtrabaho sa mga pagsasama ng SQL batay sa maraming kundisyon gamit ang AND at ang OR na mga operator. Nagbibigay ito ng higit pang granular na pag-filter ng data.