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

Cara menggunakan satu atau lebih OR dan AND dalam kueri mysql

Ada diutamakan dengan operator logika. Jika ragu, gunakan tanda kurung.

Dalam kasus Anda:

SELECT * FROM database WHERE (name = var1 OR name = var2 OR name = var3) AND id < 200

Kueri asli Anda ditafsirkan sebagai berikut karena AND memiliki prioritas yang lebih tinggi.

SELECT * FROM database WHERE name = var1 OR name = var2 OR (name = var3 AND id < 200)

Perbarui

Seperti yang dikomentari oleh Rocket , Anda dapat menyingkat OR . Anda pernyataan ke IN karena mereka beroperasi di bidang yang sama. Melakukannya akan menghilangkan kebutuhan akan tanda kurung.

SELECT * FROM database WHERE name IN (var1,var2,var3) AND id < 200

Meskipun demikian, memahami perbedaan antara dua kueri asli itu penting karena Anda pasti akan menulis kueri dengan beberapa kondisi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Milik polimorfik dalam banyak ke banyak pemetaan dalam grails?

  2. Cara menggunakan jQuery SlickGrid dengan PHP/MySQL (memuat data server dan menyimpan perubahan)

  3. Bagaimana cara hanya memilih data numerik dari mysql?

  4. Gabungkan 2 Array dan Jumlahkan Nilainya (Kunci Numerik)

  5. Array multidimensi untuk mengelompokkan Kategori dan subkategori