Ответ
В SQL существуют несколько видов JOIN:
- INNER JOIN - возвращает строки, где есть совпадения в обеих таблицах
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id
- LEFT JOIN - возвращает все строки из левой таблицы, даже если нет совпадений справа
SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id
-
RIGHT JOIN - аналогично LEFT, но для правой таблицы
-
FULL JOIN - возвращает все строки из обеих таблиц, объединяя их по условию
-
CROSS JOIN - декартово произведение таблиц (все возможные комбинации строк)
-
SELF JOIN - соединение таблицы с самой собой (используется для иерархических данных)
В Go при работе с SQL можно использовать эти JOIN через стандартный пакет database/sql или ORM вроде GORM.
Видео-ответы
▶
▶
▶
▶
▶