Rumah  >  Artikel  >  pangkalan data  >  Perbezaan antara di mana dan mempunyai dalam oracle

Perbezaan antara di mana dan mempunyai dalam oracle

下次还敢
下次还敢asal
2024-05-02 23:12:18996semak imbas

Perbezaan antara klausa WHERE dan HAVING ialah skop: WHERE menapis baris asas dan HAVING menapis set hasil terkumpul. WHERE digunakan untuk keadaan baris tunggal dan HAVING digunakan untuk keadaan hasil kumpulan. MANA datang selepas FROM dan sebelum SELECT, HAVING datang selepas GROUP BY. WHERE boleh digunakan secara bersendirian, HAVING mesti digunakan dengan operasi kumpulan.

Perbezaan antara di mana dan mempunyai dalam oracle

Perbezaan antara klausa WHERE dan HAVING dalam Oracle

WHERE dan HAVING ialah dua klausa SQL yang digunakan untuk menapis set data. Perbezaan utama antara mereka ialah skop mereka:

1 Skop

  • Klausa WHERE digunakan untuk menapis jadual atau melihat baris yang mendasari. Ia dilaksanakan sebelum operasi pengumpulan, jadi ia menggunakan syarat pada satu baris.
  • Klausa HAVING digunakan untuk menapis set hasil berkumpulan. Ia dilaksanakan selepas operasi kumpulan, jadi ia menggunakan syarat pada hasil kumpulan.

2. Senario penggunaan

  • WHERE klausa digunakan untuk menapis baris yang tidak memenuhi syarat tertentu. Contohnya, untuk mencari semua item dengan harga melebihi $100:
<code class="sql">SELECT * FROM products WHERE price > 100;</code>
  • Klausa HAVING digunakan untuk menapis kumpulan yang memenuhi kriteria tertentu. Contohnya, cari kumpulan item dengan harga purata melebihi $100:
<code class="sql">SELECT category, AVG(price) AS avg_price
FROM products
GROUP BY category
HAVING avg_price > 100;</code>

3 Kedudukan

  • Klausa WHERE terletak selepas klausa FROM dan sebelum klausa SELECT.
  • Klausa HAVING terletak selepas klausa GROUP BY. .
Syarat yang digunakan dalam klausa HAVING mesti merujuk kepada fungsi agregat atau lajur pengelompokan.

Atas ialah kandungan terperinci Perbezaan antara di mana dan mempunyai dalam oracle. 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