@Dimas123

Как составить mysql запрос с логическими операторами?

Мне нужны записи, где `столбец фрукт` = "яблоко", `столбец упаковано` = "да" и `столбец цвет`= "красное" или "желтое" или "белое".

$query = "SELECT * FROM `фрукты` WHERE 'фрукт'='яблоко' AND 'упаковано`='да' AND "тут не знаю как";";


Есть ответ со скобочками и с оператором in. Что лучше или без разницы? Всем этим параметрам назначены индексы, если это важно.
  • Вопрос задан
  • 2278 просмотров
Решения вопроса 3
@torwig
C++/Qt
AND (color='red' OR color='yellow' OR color='white);
UPD: можете попробовать еще AND color IN ('red','yellow','white'), но точно не уверен (с целыми числами точно работает IN, а вот со строками не сталкивался)
Ответ написан
Комментировать
kawabanga
@kawabanga
Воспользоваться оператором IN www.w3schools.com/sql/sql_in.asp

where fruct='yabloko' and upakovo='da' and cvet in ('krasnoe', 'jeltoe')

Или можно через or, но в контексте задачи, or может быть сложнее использовать.
Ответ написан
Комментировать
error500
@error500
PHP-developer
SELECT * FROM `фрукты` WHERE 'фрукт'='яблоко' AND 'упаковано'='да' AND 'цвет' IN ('красное','желтое','белое')


SELECT * FROM `фрукты` WHERE 'фрукт'='яблоко' AND 'упаковано'='да' AND ('цвет' = 'красное' OR 'цвет' = 'желтое' OR 'цвет' = 'белое')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы