Mempunyai Klausa dalam SQL

Mempunyai Klausa Dalam Sql



Tutorial ini bertujuan untuk membantu anda memahami dan menggunakan klausa HAVING dalam pernyataan SQL.

Marilah kita menyelam.







Klausa Mempunyai SQL

Klausa HAVING dalam SQL membolehkan anda menetapkan syarat dalam kumpulan yang ditakrifkan dalam klausa SQL GROUP BY.



Anda boleh menggunakan klausa GROUP BY untuk menyusun data ke dalam pelbagai partition dalam SQL. Anda boleh melakukan berbilang tindakan pada kumpulan, seperti fungsi agregat.



Menggunakan klausa HAVING, anda boleh menentukan syarat untuk kumpulan. Walau bagaimanapun, anda boleh menggunakan klausa HAVING tanpa berpasangan GROUP BY. Dalam kes sedemikian, klausa HAVING akan berkelakuan sama dengan klausa WHERE yang membolehkan anda mencari rekod yang sepadan.





Coretan kod berikut mentakrifkan sintaks untuk klausa SQL HAVING:

PILIH cols
DARI table_name
KUMPULAN MENGIKUT kumpulan_demi_klausa
MEMPUNYAI keadaan_kumpulan;



Contoh 1: Menggunakan Klausa HAVING dengan Jadual Filem

Untuk lebih memahami cara menggunakan klausa HAVING dalam SQL, kami akan menggunakan pangkalan data sampel yang disediakan oleh MySQL.

Anda boleh menyemak sumber yang disediakan berikut untuk mendapatkan maklumat lanjut:

Untuk ilustrasi ini, kami akan menggunakan jadual filem dari pangkalan data sakila yang disediakan dalam pautan yang diberikan.

Kita boleh mencari filem dengan rating sewaan 2.99 dan ke atas menggunakan klausa HAVING seperti yang ditunjukkan dalam pertanyaan berikut:

pilih tajuk, tahun_keluaran, penilaian, kadar_sewaan
daripada filem
kumpulan mengikut penilaian
mempunyai kadar_sewa > = 2.99 ;


Jadual yang terhasil adalah seperti berikut:


Dalam kes ini, pertanyaan mencari 4 rekod yang sepadan seperti yang ditunjukkan dalam jadual sebelumnya.

Contoh 2: Menggunakan Klausa HAVING dengan Fungsi Agregat

Kita juga boleh menggunakan fungsi sum() untuk menentukan filem dengan jumlah rating filem dengan julat sewa_kadar tertentu.

pilih tajuk, tahun_keluaran, penilaian, kadar_sewaan, jumlah ( kadar_sewa )
daripada filem
kumpulan mengikut penilaian
mempunyai jumlah ( kadar_sewa ) antara 500 dan 600 ;


Dalam kes ini, pertanyaan harus mengembalikan jadual seperti berikut: