Левое соединение, правое соединение и соединение, неужели вы не видите разницы?

Java



Ха, давно не обновлял статью.Сегодня поговорим о мелочах о mySQL тех лет. Говоря о mySQL, я давно им пользуюсь, но есть проблема, которая меня беспокоит, то есть разница между левым соединением, соединением, правым соединением и внутренним соединением и т.д. Поиск в Интернете, наиболее распространенной является схема, а именно:


Это действительно картинка для пояснения разницы между всеми джойнами, но я к сожалению до сих пор не могу понять, может люди ленивые, а то в принципе мне достаточно левого джойна, поэтому внимательно не изучал, но реальность Или заставьте меня разобраться, я просто делаю это сам, и, наконец, поймите смысл картины, слушайте меня по порядку.

Для начала создадим две таблицы, первая с именем kemu, а вторая с именем score:

clipboard.pngclipboard.png

1. левое соединение
Как следует из названия, это «левое соединение», таблица 1 связана с таблицей 2 слева, а левая является основной, что означает, что таблица 1 является основной, а данные в таблице 2 связаны. В левой части находятся данные части пересечения. следующее:

select
   *
from
   kemu
left join score on kemu.id = score.id

Набор результатов:
clipboard.pngclipboard.png

2. Право присоединиться

«Правое соединение», таблица 1 соединена справа с таблицей 2, причем правая часть является основной, что указывает на то, что таблица 2 является основной, а данные таблицы 1 связаны с запросом, а все данные таблицы 2 и данные пересечения Таблицы 1 и Таблицы 2 находятся следующим образом:

select
   *
from
   kemu
right join score on kemu.id = score.id

Набор результатов:

clipboard.pngclipboard.png

Три, присоединяйтесь
соединение, по сути, является «внутренним соединением», было написано в сокращении соединение, два равно одному, ан, выраженное как пересечение двух основных таблиц, две таблицы обнаружили, что это часть пересечения, не связанная с остальными никаких дополнительных проявлений, это также касается многих, как показано ниже

select
   *
from
   kemu
join score on kemu.id = score.id

Набор результатов:

clipboard.pngclipboard.png

Выше приведена разница между тремя соединениями!

Адрес блога:www.liangsonghua.com

Обратите внимание на общедоступную учетную запись WeChat: отчет о консервированных яйцах Songhua Preserved Egg на доске, становитесь более захватывающим!

Введение в общедоступную учетную запись: делитесь техническими знаниями о работе на JD.com, а также технологиями JAVA и лучшими отраслевыми практиками, большинство из которых являются прагматичными, понятными и воспроизводимыми.