Два запроса: SELECT * FROM orders JOIN users ON orders.user_id = users.user_id и SELECT * FROM orders JOIN users USING(user_id). В чём ключевое ограничение USING?

AСинтаксис USING позволяет соединять по столбцам с разными именами в двух таблицах
BСинтаксис USING требует, чтобы столбец соединения назывался одинаково в обеих таблицах
CСинтаксис USING работает только с INNER JOIN и не поддерживается для внешних соединений
DСинтаксис USING автоматически подбирает столбцы для соединения по совпадению типов данных
Правильный ответ. USING(col) — сокращённый синтаксис для ON, который требует, чтобы столбец соединения имел одинаковое имя в обеих таблицах.

Разбор

USING(col) эквивалентен ON a.col = b.col, но с двумя отличиями: столбец должен называться одинаково в обеих таблицах, и в результате SELECT * этот столбец появится один раз вместо двух. Если в одной таблице столбец называется user_id, а в другой id, USING не подойдёт — нужен ON.

Проверь себя · 1/3разбор после ответа
Нужно посчитать число пользователей, которые сделали хотя бы 1 заказ (таблицы users(user_id) и orders(user_id, order_id)). Какой запрос посчитает правильно?
Тренировать SQL в Telegram

Ещё вопросы по теме «JOIN и операции множеств»