Ха, давно не обновлял статью.Сегодня поговорим о мелочах о mySQL тех лет. Говоря о mySQL, я давно им пользуюсь, но есть проблема, которая меня беспокоит, то есть разница между левым соединением, соединением, правым соединением и внутренним соединением и т.д. Поиск в Интернете, наиболее распространенной является схема, а именно:
Это действительно картинка для пояснения разницы между всеми джойнами, но я к сожалению до сих пор не могу понять, может люди ленивые, а то в принципе мне достаточно левого джойна, поэтому внимательно не изучал, но реальность Или заставьте меня разобраться, я просто делаю это сам, и, наконец, поймите смысл картины, слушайте меня по порядку.
Для начала создадим две таблицы, первая с именем kemu, а вторая с именем score:
1. левое соединение
Как следует из названия, это «левое соединение», таблица 1 связана с таблицей 2 слева, а левая является основной, что означает, что таблица 1 является основной, а данные в таблице 2 связаны. В левой части находятся данные части пересечения. следующее:
select
*
from
kemu
left join score on kemu.id = score.id
Набор результатов:
2. Право присоединиться
«Правое соединение», таблица 1 соединена справа с таблицей 2, причем правая часть является основной, что указывает на то, что таблица 2 является основной, а данные таблицы 1 связаны с запросом, а все данные таблицы 2 и данные пересечения Таблицы 1 и Таблицы 2 находятся следующим образом:
select
*
from
kemu
right join score on kemu.id = score.id
Набор результатов:
Три, присоединяйтесь
соединение, по сути, является «внутренним соединением», было написано в сокращении соединение, два равно одному, ан, выраженное как пересечение двух основных таблиц, две таблицы обнаружили, что это часть пересечения, не связанная с остальными никаких дополнительных проявлений, это также касается многих, как показано ниже
select
*
from
kemu
join score on kemu.id = score.id
Набор результатов:
Выше приведена разница между тремя соединениями!