TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #143 6.43K
В чём разница InnerJoin и RightJoin ?
Спросят с вероятностью 12%

INNER JOIN и RIGHT JOIN — это два типа соединений таблиц, каждый из которых используется для разных целей при объединении строк из двух или более таблиц. Основное различие между ними заключается в том, какие строки из соединяемых таблиц включаются в итоговый результат.

INNER JOIN

Возвращает только те строки, которые имеют соответствующие пары в обеих таблицах. Если в одной из таблиц нет совпадений, строки из этой таблицы не попадут в итоговый набор данных. То есть его результатом будет пересечение двух таблиц — только те строки, для которых найдено совпадение в обеих таблицах по заданному условию.

Пример: Если мы соединим таблицу заказов с таблицей клиентов с помощью INNER JOIN по полю client_id, в результат попадут только те заказы, для которых существуют соответствующие записи о клиентах.

RIGHT JOIN (или RIGHT OUTER JOIN)

Возвращает все строки из правой таблицы, а также соответствующие строки из левой таблицы. Для строк из правой таблицы, для которых не найдено совпадений в левой таблице, в итоговом наборе данных будут значения NULL в столбцах левой таблицы.

Это означает, что если какие-то строки в левой таблице не имеют соответствий в правой, они не будут включены в результат. Но все строки из правой таблицы будут представлены в результате.

Пример: Если мы соединим таблицу заказов (левая таблица) с таблицей клиентов (правая таблица) с помощью RIGHT JOIN по полю client_id, в результат попадут все клиенты, включая тех, у кого нет заказов, при этом для клиентов без заказов поля, относящиеся к заказам, будут содержать NULL.

✅`INNER JOIN` используется, когда нужны строки, которые имеют совпадения в обеих соединяемых таблицах.
✅`RIGHT JOIN` применяется, когда важно получить все строки из правой таблицы, даже если для некоторых из них нет соответствующих строк в левой таблице.

Выбор между INNER JOIN и RIGHT JOIN зависит от требуемых условий выборки данных и задач.

👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1715 вопроса на Java разработчика. Ставь 👍 если нравится контент

🔐 База собесов | 🔐 База тестовых
  • 👍 16
  • ❤ 4
More from @easy_java_ru
  1. Oct 12, 2026🤔 Жизненный цикл сервлетов? 1. Загрузка и инициализация (init); 2. Обработка запроса (ser…
  2. Oct 12, 2026🤔 Как остановить поток? Остановить поток в Java можно несколькими способами, но важно пом…
  3. Oct 11, 2026🤔 Какой класс позволяет читать данные из входного байтового потока в формате примитивных…
  4. Oct 11, 2026🤔 Чем отличается where от having ? WHERE и HAVING используются для фильтрации записей, но…
  5. Oct 10, 2026🤔 На основании какой структуры данных реализован ArrayList? ArrayList реализован на базе…
  6. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →