Столбцы в предложении USING()
не принимают псевдонимы - основная идея состоит в том, что этот столбец должен быть доступен в обеих таблицах.
Это также имеет преимущество устранения неоднозначности столбца, поэтому вам не нужно добавлять префикс к псевдониму таблицы в пункте WHERE
.
Просто:
SELECT *
FROM student s
INNER JOIN test_result ts USING (id)
WHERE id = 1335;
Недостатком является то, что, если вы используете это в нескольких Соедините контекст, где несколько таблиц имеют столбец id
, из 1011 * вы не можете выбрать, какая таблица id
выбрана. Это может быть неприятно в некоторых ситуациях. В этом случае вам необходимо вернуться к синтаксису join ... on ...
:
SELECT *
FROM student s
INNER JOIN test_result ts on ts.id = s.id
WHERE id = 1335;