Join / Sql / database

author

id name
1 Вася
2 Коля
3 Петя

util

id author_id name
1 1 Вася Мега продукт
2 0 Крутая, но неизвестная утилита

Возвращает записи, у которых есть соответствующие записи в обеих таблицах.

-- Выводим все поля
SELECT *
-- Указываем таблицу авторов
FROM author
-- Соединяем с таблицей программ
INNER JOIN util
-- Указываем условие
ON author.id = util.author_id
id name id author_id name
1 Вася 1 1 Вася Мега продукт

Возвращает все записи из левой таблицы и соответствующие записи из правой таблицы. Если соответствия нет, возвращает NULL для правой таблицы.

-- Выводим все поля
SELECT *
-- Указываем таблицу авторов
FROM author
-- Соединяем с таблицей программ
LEFT JOIN util
-- Указываем условие
ON author.id = util.author_id
id name id author_id name
1 Вася 1 1 Вася Мега продукт
2 Коля NULL NULL NULL
3 Петя NULL NULL NULL

Возвращает все записи из правой таблицы и соответствующие записи из левой таблицы. Если соответствия нет, возвращает NULL для левой таблицы.

-- Выводим все поля
SELECT *
-- Указываем таблицу авторов
FROM author
-- Соединяем с таблицей программ
RIGHT JOIN util
-- Указываем условие
ON author.id = util.author_id
id name id author_id name
1 Вася 1 1 Вася Мега продукт
NULL NULL 2 0 Крутая, но неизвестная утилита

Возвращает все записи из левой таблицы и соответствующие записи из правой таблицы. Если соответствия нет, возвращает NULL для правой таблицы.

 

Возвращает все записи из правой таблицы и соответствующие записи из левой таблицы. Если соответствия нет, возвращает NULL для левой таблицы.

 

Возвращает все записи, когда есть соответствие в одной из таблиц.

 

Выполняет декартово произведение двух таблиц, объединяя каждую строку первой таблицы с каждой строкой второй таблицы.