Junior — Middle
Explique la différence entre une jointure interne et une jointure externe gauche en SQL.
sobes.tech IA
Réponse de l'IA
Внутреннее соединение (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 — только совпадающие.