Как выполнить объединение таблиц в MySQL?

Пользователь

от larue , в категории: Компьютерные технологии , 2 года назад

Как выполнить объединение таблиц в MySQL?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от aron , 2 года назад

@larue 

Для выполнения объединения таблиц в MySQL используется оператор JOIN. Существует несколько видов соединений:

  1. INNER JOIN – возвращает только те строки, которые имеют соответствия в обеих таблицах.


Пример:


SELECT orders.id, customers.name FROM orders INNER JOIN customers ON orders.customer_id = customers.id;

  1. LEFT JOIN – возвращает все строки из левой таблицы и соответствующую информацию из правой таблицы. Если в правой таблице нет соответствия, то возвращается NULL.


Пример:


SELECT customers.name, orders.id FROM customers LEFT JOIN orders ON customers.id = orders.customer_id;

  1. RIGHT JOIN – аналогичен LEFT JOIN, но возвращает все строки из правой таблицы и соответствующую информацию из левой таблицы. Если в левой таблице нет соответствия, то возвращается NULL.


Пример:


SELECT customers.name, orders.id FROM customers RIGHT JOIN orders ON customers.id = orders.customer_id;

  1. FULL OUTER JOIN – возвращает все строки из обеих таблиц, даже если в одной из таблиц нет соответствия.


Пример:


SELECT customers.name, orders.id FROM customers FULL OUTER JOIN orders ON customers.id = orders.customer_id;

  1. CROSS JOIN – возвращает все возможные комбинации строк из обеих таблиц.


Пример:


SELECT customers.name, orders.id FROM customers CROSS JOIN orders;


Объединение таблиц в MySQL может быть выполнено с использованием любого из вышеперечисленных видов соединений, в зависимости от требований к выборке данных.