LEFT JOIN - возвращает строки из левой таблицы(table_name1), даже если их нет в правой таблице (table_name2).
Синтаксис SQL LEFT JOIN
- Замечание: В некоторых базах данных LEFT JOIN имеет имя LEFT OUTER JOIN.
Пример SQL LEFT JOIN
Есть таблица "Persons":
| P_Id | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Есть таблица "Orders":
| O_Id | OrderNo | P_Id |
|---|---|---|
| 1 | 77895 | 3 |
| 2 | 44678 | 3 |
| 3 | 22456 | 1 |
| 4 | 24562 | 1 |
| 5 | 34764 | 15 |
Теперь мы хотим получить список всех лиц и их заказов из таблицы выше.
Для этого используем такой запрос:
Результат запроса:
| LastName | FirstName | OrderNo |
|---|---|---|
| Hansen | Ola | 22456 |
| Hansen | Ola | 24562 |
| Pettersen | Kari | 77895 |
| Pettersen | Kari | 44678 |
| Svendson | Tove |
SQL Left Join





Комментарии
your result table have Two Hansen, Цитировать
It's because of in second table "Orders" we have two orders with Hansen's P_Id (3) Цитировать
Hansen's P_Id = 1 Цитировать
Hansen Ola 2
Pettersen Kari 2
Svendson Tove null Цитировать
Count Справа в списке