MySQL: Работа с несколькими таблицами

Объединение полей двух и более таблиц реляционной базы данных.

INNER JOIN возвращает совпадающие записи в обеих таблицах:

-- выбираем все заказы клиента с `id` = 1
SELECT 
	a . `id` as `order_id`, 
	a . `amount`, 

	b . `name`,
	b . `email`

FROM 
	`orders` a 

INNER JOIN 
	`customers` b
ON 
	a . `customer_id` = b . `id`

WHERE 
	a . `customer_id` = 1

LEFT JOIN возвращает все записи из левой таблицы и соответствующие записи из правой таблицы. LEFT JOIN и LEFT OUTER JOIN равнозначны. Слово OUTER необязательно.

-- выбираем всех клиентов и любые заказы, которые у них могут быть:
SELECT 
	b . `name`,
	a . `id` as `order_id`

FROM 
	`customers` b

LEFT JOIN 
	`orders` a  
ON 
	b . `customer_id` = a . `customer_id`

ORDER BY 
	b . `name`;

RIGHT JOIN возвращает все записи из правой таблицы и соответствующие записи из левой таблицы. RIGHT JOIN и RIGHT OUTER JOIN равнозначны. Слово OUTER необязательно.

-- выбираем всех сотрудников из таблицы `employees` и любые заказы, которые они могли разместить
SELECT 
	a . `id` as `order_id`, 

	b . `first_name`,
	b . `last_name` 

FROM 
	`orders` a 

RIGHT JOIN 
	`employees` b
ON 
	a . `employee_id` = b . `employee_id`

ORDER BY 
	`order_id`

Шпаргалка по JOIN запросам:

Объединение полей двух и более таблиц реляционной базы данных
MySQL 7.7 г. Просмотров: 1.7k
Оценить код:

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.