SQL Join pada Pelbagai Syarat

Sql Join Pada Pelbagai Syarat



Salah satu ciri pangkalan data hubungan yang paling lazim ialah gabungan. Gabungan SQL merujuk kepada proses menggabungkan data daripada dua atau lebih jadual ke dalam set hasil tunggal berdasarkan ciri atau lajur standard.

Menyertai jadual membolehkan kami mendapatkan semula data yang disimpan merentas berbilang jadual dalam satu pertanyaan yang menjadikannya alat yang berkuasa untuk analisis dan pelaporan data.







Dalam tutorial ini, kami akan menemui cara melaksanakan gabungan SQL pada pelbagai syarat. Kami akan belajar menggunakan operator logik 'DAN' dan 'ATAU' untuk menyertai data berdasarkan berbilang syarat.



SQL Menyertai pada Pelbagai Syarat

Kita boleh menentukan berbilang syarat menggunakan operator DAN atau ATAU dalam SQL. Pengendali ini membenarkan kami mentakrifkan satu set ungkapan Boolean yang kemudiannya dinilai dan dibandingkan dengan set yang terhasil.



Kami menggunakan operator AND untuk memastikan bahawa semua syarat yang dinyatakan adalah benar. Jika walaupun satu daripada syarat tidak benar, keseluruhan ungkapan itu akan menjadi palsu. Ini menjadikan operator AND sebagai alat yang luar biasa untuk penapisan data yang melampau.





Sebaliknya, kami menggunakan operator OR apabila kami memerlukan sekurang-kurangnya satu syarat untuk menjadi benar. Ini menjadikannya kaedah penapisan data yang lebih 'longgar' kerana rekod yang terhasil mesti memenuhi sekurang-kurangnya satu parameter yang ditentukan.

Kefungsian operator AND dan OR tidak berubah walaupun dalam kes gabungan SQL.



Contoh Gabungan Berbilang SQL

Untuk memahami cara bekerja dengan cantuman pada pelbagai syarat, sebaiknya gunakan contoh.

Untuk demonstrasi ini, kami menggunakan pangkalan data Sakila yang dibangunkan untuk meneroka keupayaan penuh SQL.

Katakan kita ingin mengambil data daripada filem dan jadual pelakon_filem. Pertama, kami ingin mencari semua pelakon yang membintangi filem itu yang sama ada dinilai PG atau PG-13 dan mempunyai panjang antara 90 dan 120.

Dalam senario seperti ini, kita perlu melakukan gabungan dengan berbilang syarat seperti yang ditunjukkan dalam yang berikut:

PILIH actor.first_name, actor.last_name, film.title, film.release_year, film.rating
DARIPADA pelakon
SERTAI pelakon_filem PADA actor.actor_id = film_actor.actor_id
SERTAI filem DI film_actor.film_id = film.film_id
DI MANA filem.panjang ANTARA 90 DAN 120
DAN filem.rating IN ( 'PG' , 'PG-13' ) ;


Seperti yang anda boleh lihat daripada pertanyaan sebelumnya, kami memberitahu SQL untuk melakukan gabungan antara pelakon dan jadual film_actor berdasarkan lajur actor_id. Kami juga melakukan gabungan antara pelakon_filem dan jadual filem menggunakan lajur film_id. Kami juga memastikan untuk menentukan dua syarat menggunakan klausa WHERE untuk menapis jadual hasil berdasarkan tahun keluaran dan panjang filem.

Jadual yang terhasil adalah seperti berikut:


Kami juga boleh menentukan berbilang syarat berdasarkan operator OR seperti yang ditunjukkan dalam contoh pertanyaan berikut:

PILIH filem.tajuk, filem.kadar_sewaan, kategori.nama
DARI filem
SERTAI kategori_filem PADA film.film_id = kategori_filem.id_filem
SERTAI kategori PADA film_category.category_id = category.category_id
WHERE category.name IN ( 'Tindakan' , 'Komedi' )
DAN filem.kadar_sewaan > 3.00 ;


Jadual yang terhasil adalah seperti berikut:

Kesimpulan

Tutorial ini meneroka cara bekerja dengan gabungan SQL berdasarkan berbilang syarat menggunakan operator AND dan OR. Ini menyediakan penapisan data yang lebih terperinci.