MySQL SELECT на примере каталога товаров

SELECT * FROM `prods` WHERE `name` LIKE '%запрос%' OR `sku` LIKE '%запрос%'
SQL

К примеру, нужно что-бы искались фразы название + бренд, но бренды хранятся в отдельной таблице.

SELECT 
	`a`.*,
	CONCAT(`a`.`name`, ' ', `b`.`name`) AS `full_name`
FROM 
	`prods` AS `a`
LEFT JOIN
	`brands` AS `b` ON `a`.`brands_id` = `b`.`id`			
HAVING
	`full_name` LIKE '%Кроссовки Adidas%'
SQL
SELECT * FROM `prods` WHERE `price` BETWEEN '100' AND '2000'
SQL
SELECT * FROM `prods` WHERE `category` = 10 ORDER BY `name`
SQL

Поле `category_list` содержит список id (1,2,3,4,5...).
Нужно найти товары, у которых в этом списке попадается значение 2.

SELECT * FROM `prods` WHERE FIND_IN_SET(2, `category_list`)
SQL

Поле `category` содержит список id, разделенный запятыми (1,2,3,4,5...).
Нужно найти записи, у которых хоть одно значение пересекается со списком 1,3,5.

SELECT * FROM `prods` WHERE `category` REGEXP '(^|,)(1|3|5)(,|$)'
SQL
SELECT * FROM `prods` WHERE `category` IN(1,2,3) ORDER BY `name`
SQL
SELECT 
	*, 
	(SELECT COUNT(`id`) FROM `prods` WHERE `category_id` = `category`.`id`) AS `count_prods`
FROM 
	`category`
ORDER BY
	`name`
SQL
SELECT 
	*
FROM 
	`category`
WHERE
	(SELECT COUNT(`id`) FROM `prods` WHERE `category_id` = `category`.`id`) > 0
ORDER BY
	`name`
SQL
26.09.2019, обновлено 24.10.2019
6466
Предыдущая запись Полезные запросы в MySQL
Следующая запись Сортировка по диапазону цен

Комментарии

, чтобы добавить комментарий.

Другие публикации

Создание товарной накладной в PHPExcel
Пример, как сформировать товарную накладную с помощью библиотеки PHPExcel. В результате получится файл в формате xlsx...
14810
+5
Примеры использования PDO MySQL
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
64531
+2
Поиск похожих статей на PHP + MySQL
Один из вариантов поиска похожих статей в базе данных основан на схождении слов в двух текстах.
2865
+2
Пример парсинга html-страницы на phpQuery
phpQuery – это удобный HTML парсер взявший за основу селекторы, фильтры и методы jQuery, которые позволяют...
32193
+13
Интеграция с платежной системой PayKeeper в PHP
Платежная платформа PayKeeper позволяет принимать оплату заказов по ссылке, используя данный метод можно с легкостью...
3891
0
Постраничный вывод и базы данных
В SQL запросах, для ограничения количества строк в результате используется инструкция LIMIT, например следующий вернёт...
5360
+2