Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да комбинирам И и ИЛИ в моя SQL израз

И двете биха били валидни, но от AND има по-висок приоритет от OR , те биха означавали различни неща:

  • Първата ви заявка в скоби ще избере изтрити редове с типове 3, 4, 5
  • Втората ви заявка в скоби ще избере всички редове с типове 3, 5, в допълнение към изтритите редове от тип 4; това е същото значение като в оригиналната заявка без скоби.

Можете да избегнете объркването като използвате оператор IN , като това:

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

или ако искате второто значение

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. Каква е разликата между utf8_general_ci и utf8_unicode_ci?

  2. Защо Hibernate не създава база данни за MySQL?

  3. Как да добавя първичен ключ към MySQL таблица?

  4. Как да създадете таблица в MySQL

  5. използвайте условието If else за избор на колоната в mysql?