MySQL Joins - презентация слайдов
Эта презентация подробно описывает MySQL Joins.
расшифровка
Что такое JOIN в MySQL?
★ Объединение позволяет извлекать записи из двух (или более) логически связанных таблиц в одном наборе результатов.
★ Предложения JOIN используются для возврата строк двух или более запросов с использованием двух или более таблиц, которые разделяют значимые отношения на основе общего набора значений.
★ Эти значения обычно совпадают с именем столбца и типом данных.
★ Эти столбцы, или, возможно, один столбец из каждой таблицы, называются ключом соединения или общим ключом.
★ В основном ключ соединения - это первичный ключ одной таблицы и внешний ключ в другой таблице.
★ Объединение может быть выполнено до тех пор, пока данные в столбцах совпадают.
Типы JOIN
★ ВНУТРЕННЕЕ СОЕДИНЕНИЕ
★ оставил присоединиться
★ RIGHT JOIN
★ STRAIGHT_JOIN или STRAIGHT РЕЙТИНГ
★ CROSS JOIN
★ ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ
MySQL INNER JOIN
★ INNER JOIN - это такое соединение, в котором все строки могут быть выбраны из обеих участвующих таблиц, если между столбцами есть совпадение.
★ ВНУТРЕННЕЕ СОЕДИНЕНИЕ объединяет таблицы.
★ ВНУТРЕННЕЕ СОЕДИНЕНИЕ позволяет строкам из любой таблицы появляться в результате, если и только если обе таблицы удовлетворяют условиям, указанным в предложении ON.
Пример: MySQL INNER JOIN
SELECT * FROM table_A
INNER JOIN таблица_B
ON table_A.A = table_B.A;
MySQL LEFT JOIN
★ LEFT JOIN извлекает все записи из таблицы в левой части оператора соединения.
★ Если запись из левой таблицы не имеет соответствующей записи в таблице с правой стороны объединения, то соответствующий столбец из правой таблицы возвращает значение NULL.
Пример: MySQL LEFT JOIN
SELECT * FROM table_A
LEFT JOIN table_B
ON table_A.A = table_B.A;
MySQL RIGHT JOIN
★ Правое соединение извлекло все записи из таблицы с правой стороны оператора соединения, даже если в левой таблице нет соответствующих записей.
★ Столбцы для несопоставленных строк из левой таблицы возвращают значения NULL.
Пример: MySQL RIGHT JOIN
SELECT * FROM table_A
ПРАВИЛЬНОЕ СОЕДИНЕНИЕ
ON table_A.A = table_B.A;
MySQL STRAIGHT JOIN
★ STRAIGHT_JOIN сканирует и объединяет совпадающие строки (если указано какое-либо условие), которые хранятся в связанных таблицах, в противном случае он ведет себя как INNER JOIN или JOIN без каких-либо условий.
Пример: MySQL STRAIGHT JOIN
SELECT * FROM table_A
STRAIGHT JOIN table_B;
MySQL CROSS JOIN
★ CROSS JOIN - это полное перекрестное произведение двух таблиц.
★ Для каждой записи в первой таблице все записи во второй таблице объединяются.
★ Создание потенциально огромного набора результатов.
★ Эта команда имеет тот же эффект, что и отключение условия соединения.
★ Этот набор результатов также известен как декартово произведение.
Пример: MySQL CROSS JOIN
SELECT * FROM table_A
CROSS JOIN table_B;
MySQL NATURAL JOIN
★ ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ - это такое объединение, которое выполняет ту же задачу, что и ВНУТРЕННЕЕ или ВЛЕВОЕ СОЕДИНЕНИЕ, в котором предложение ON или USING ссылается на все столбцы, которые объединяют объединяемые таблицы.Пример: MySQL NATURAL JOIN
SELECT * FROM table_A
ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ table_B;