Rumah >pangkalan data >SQL >Perbezaan antara di mana dan mempunyai dalam sql

Perbezaan antara di mana dan mempunyai dalam sql

下次还敢
下次还敢asal
2024-05-01 21:42:34668semak imbas

Klausa WHERE dan HAVING kedua-duanya digunakan untuk menapis data dalam SQL, tetapi skopnya berbeza: klausa WHERE menapis baris tunggal dan klausa HAVING menapis set hasil terkumpul. Klausa WHERE digunakan sebelum mengumpulkan dan mempengaruhi baris hasil fungsi agregat; klausa HAVING digunakan selepas mengumpulkan dan mempengaruhi baris berkumpulan dan bukannya baris individu. Klausa WHERE boleh menapis mana-mana lajur, manakala klausa HAVING hanya boleh menapis hasil fungsi agregat.

Perbezaan antara di mana dan mempunyai dalam sql

Perbezaan antara klausa WHERE dan HAVING

Dalam pertanyaan SQL, klausa WHERE dan HAVING digunakan untuk menapis baris data, tetapi ia mempunyai skop dan tujuan yang berbeza. Klausa

WHERE

  • digunakan pada satu baris jadual.
  • Digunakan untuk menapis baris yang memenuhi syarat yang ditetapkan.
  • Mohon sebelum pengumpulan data.
  • Menjejaskan baris hasil fungsi agregat. Klausa

HAVING

  • digunakan pada set hasil berkumpulan.
  • Digunakan untuk menapis kumpulan yang memenuhi syarat yang ditetapkan.
  • Digunakan selepas pengumpulan data.
  • Menjejaskan baris berkumpulan dan bukannya baris individu. Table Comparison Table

featureswhere flause scopesingle row sebelum kumpulan Pertanyaan berikut menggunakan klausa HAVING Tapis semua pelanggan yang purata jualannya melebihi 1000:
having Clause
group application Timing
.
<code class="sql">SELECT * FROM orders WHERE sales_amount > 1000;</code>
Nota
Klausa WHERE boleh menapis mana-mana lajur, manakala klausa HAVING hanya boleh menapis hasil fungsi agregat. Klausa HAVING biasanya digunakan bersama dengan klausa GROUP BY, manakala klausa WHERE boleh digunakan secara bebas.

Atas ialah kandungan terperinci Perbezaan antara di mana dan mempunyai dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah maksud drop dalam sql?Artikel seterusnya:Apakah maksud drop dalam sql?