Junior — Middle
99
Erklären Sie den Unterschied zwischen einem INNER JOIN und einem LEFT OUTER JOIN in SQL.
Antwort von AI
sobes.tech KI
Внутреннее соединение (INNER JOIN) возвращает только те строки, которые имеют совпадающие значения в обеих таблицах. Если в одной из таблиц нет соответствующей записи, то эта строка не попадёт в результат.
Левое внешнее соединение (LEFT JOIN) возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если для строки из левой таблицы нет совпадения в правой, то в результат попадут значения из левой таблицы, а для правой — NULL.
Пример:
Таблица A:
| id | name |
|---|---|
| 1 | Alice |
| 2 | Bob |
Таблица B:
| id | city |
|---|---|
| 1 | London |
- INNER JOIN по id:
| id | name | city |
|---|---|---|
| 1 | Alice | London |
- LEFT JOIN по id:
| id | name | city |
|---|---|---|
| 1 | Alice | London |
| 2 | Bob | NULL |
Таким образом, LEFT JOIN сохраняет все записи из левой таблицы, а INNER JOIN — только совпадающие.