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

Bagaimana saya bisa menggabungkan AND dan OR dalam pernyataan SQL saya?

Keduanya akan valid, tetapi sejak AND memiliki prioritas lebih tinggi daripada OR , artinya berbeda:

  • Kueri dalam kurung pertama Anda akan memilih baris yang dihapus dengan tipe 3, 4, 5
  • Kueri tanda kurung kedua Anda akan memilih semua baris dengan tipe 3, 5, selain baris tipe 4 yang dihapus; ini memiliki arti yang sama dengan kueri asli tanpa tanda kurung.

Anda dapat menghindari kebingungan sama sekali dengan menggunakan operator IN , seperti ini:

SELECT * FROM `table` WHERE type IN (3, 4, 5) AND table.deleted = 1;

atau jika Anda ingin arti kedua

SELECT * FROM `table` WHERE type IN (3, 5) OR (type = 4 AND table.deleted = 1)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Baris mana yang dikembalikan saat menggunakan LIMIT dengan OFFSET di MySQL?

  2. Bagaimana Anda mendapatkan UTC dari Field datetime?

  3. Bagaimana cara mengubah zona waktu Server MySQL?

  4. playframework 2.0 - melebihi max_user_connections pada evolusi basis data?

  5. ubah stempel waktu mysql menjadi tanggal dan waktu aktual?