Junior — Middle
Leg het verschil uit tussen een INNER JOIN en een LEFT OUTER JOIN in SQL.
sobes.tech AI
Antwoord van AI
Внутреннее соединение (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 — только совпадающие.