SELECT * FROM `prods` WHERE `name` LIKE '%запрос%' OR `sku` LIKE '%запрос%'
SQL
2
Поиск по составным полям
К примеру, нужно что-бы искались фразы название + бренд, но бренды хранятся в отдельной таблице.
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
3
Промежуток (от и до)
SELECT * FROM `prods` WHERE `price` BETWEEN '100' AND '2000'
SQL
4
Выборка товаров из категории
SELECT * FROM `prods` WHERE `category` = 10 ORDER BY `name`
SQL
5
Выборка из списков
Поле `category_list` содержит список id (1,2,3,4,5...).
Нужно найти товары, у которых в этом списке попадается значение 2.
SELECT * FROM `prods` WHERE FIND_IN_SET(2, `category_list`)
SQL
6
Вхождения между списками (многие к многим)
Поле `category` содержит список id, разделенный запятыми (1,2,3,4,5...).
Нужно найти записи, у которых хоть одно значение пересекается со списком 1,3,5.
SELECT * FROM `prods` WHERE `category` REGEXP '(^|,)(1|3|5)(,|$)'
SQL
7
Выборка товаров, которые есть в категориях
SELECT * FROM `prods` WHERE `category` IN(1,2,3) ORDER BY `name`
SQL
8
Получить кол-во товаров в категориях
SELECT
*,
(SELECT COUNT(`id`) FROM `prods` WHERE `category_id` = `category`.`id`) AS `count_prods`
FROM
`category`
ORDER BY
`name`
SQL
9
Получить все не пустые категории
SELECT
*
FROM
`category`
WHERE
(SELECT COUNT(`id`) FROM `prods` WHERE `category_id` = `category`.`id`) > 0
ORDER BY
`name`