Сколько строк ждать после JOIN в SQL?

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

Есть 2 таблицы с колонкой id. В первой 10 строк, во второй 5. Сколько строк получится при соединении

1️⃣ INNER JOIN Минимум: 0 (если нет совпадений в таблицах) Максимум: 50 (если во всех строках первой таблицы стоит одно и то же значение и оно же стоит во всех строках второй таблицы. Тогда к каждой строке первой таблицы прицепятся все строки из второй, то есть получится 10*5 = 50)

2️⃣ LEFT JOIN Минимум: 10 (строки левой таблице всегда сохраняются в результате) Максимум: 50 (аналогично с inner join)

3️⃣ FULL OUTER JOIN Минимум: 10 (если строки правой таблицы совпадают с левой, но при этом нет дублей) Максимум: 50 (никогда так не было и вот опять)

4️⃣ CROSS JOIN Строк в любом случае 50

repost

33

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь