Mysql select as: MySQL | Выборка данных. Команда SELECT

Содержание

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

1

Поиск по слову или артикулу

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

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%'

3

Промежуток (от и до)

SELECT * FROM `prods` WHERE `price` BETWEEN '100' AND '2000'

4

Выборка товаров из категории

SELECT * FROM `prods` WHERE `category` = 10 ORDER BY `name`

5

Выборка из списков

Поле `category_list` содержит список id (1,2,3,4,5. |,)(1|3|5)(,|$)'

7

Выборка товаров, которые есть в категориях

SELECT * FROM `prods` WHERE `category` IN(1,2,3) ORDER BY `name`

8

Получить кол-во товаров в категориях

SELECT 
	*, 
	(SELECT COUNT(`id`) FROM `prods` WHERE `category_id` = `category`.`id`) AS `count_prods`
FROM 
	`category`
ORDER BY
	`name`

9

Получить все не пустые категории

SELECT 
	*
FROM 
	`category`
WHERE
	(SELECT COUNT(`id`) FROM `prods` WHERE `category_id` = `category`.`id`) > 0
ORDER BY
	`name`

Mysql select as примеры – Тарифы на сотовую связь