Какие типы JOIN бывают в SQL? Как использовать в Go?

Ответ

INNER JOIN - только совпадающие строки; LEFT JOIN - все из левой + совпадения справа (NULL при отсутствии); RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN. В Go пишут сырой SQL или через builder (squirrel, goqu). Параметры через плейсхолдеры $1, $2 (Postgres) или ? (MySQL), передают в db.QueryContext, db.ExecContext.

rows, err := db.QueryContext(ctx,
    "SELECT u.name, o.amount FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.id = $1", id)
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.