Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySql - HAVING vs WHERE

WHERE digunakan untuk memilih data dalam tabel asli yang sedang diproses.

HAVING digunakan untuk memfilter data dalam kumpulan hasil yang dihasilkan oleh kueri. Ini berarti dapat mereferensikan nilai agregat dan alias di SELECT klausa.

Misalnya, dapat menulis:

SELECT t1.val - t2.val diff
FROM t1 JOIN t2 ON (some expression)
HAVING diff > 10

Ini tidak akan berfungsi menggunakan WHERE karena diff adalah alias, bukan salah satu kolom tabel asli. Anda dapat menulis sebagai gantinya:

SELECT t1.val - t2.val diff
FROM t1 JOIN t2 ON (some expression)
WHERE t1.val - t2.val > 10

tetapi kemudian ia mungkin harus melakukan semua pengurangan dua kali:sekali untuk memilih, dan sekali lagi untuk menghasilkan kumpulan hasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengubah batas waktu koneksi Mysql default saat menghubungkan melalui python?

  2. Apakah Anda diizinkan menggunakan angka sebagai nama tabel di MySQL?

  3. Pilih pernyataan dari beberapa tabel, dengan input variabel

  4. MySQL Kedua (atau ketiga) Indeks Dalam String

  5. Perbarui MySQL dari CSV menggunakan JAVA