как использовать ключевое слово «USING» для объединения трех таблиц и отображения их с использованием синтаксиса mysql - PullRequest
0 голосов
/ 21 октября 2018

это то, как мне удается присоединиться к таблице с помощью внутреннего соединения

SELECT lab5enrollment.matricno, lab5student.stuname, 
lab5enrollment.courseid, 
lab5course.cname
FROM ((lab5enrollment
INNER JOIN lab5student ON lab5enrollment.matricno = lab5student.matricno)
INNER JOIN lab5course ON lab5enrollment.courseid = lab5course.courseid)
WHERE lab5enrollment.courseid = 'CSF3402';

это то, как я использовал ключевое слово using, чтобы присоединиться к таблице, но я не знаю, как соединить три таблицы ...

SELECT matricno, stuname, courseid, cname
FROM lab5enrollment
JOIN lab5student
USING (matricno) 
WHERE courseid = 'CSF3402';

Я хочу наблюдать разницу между использованием внутреннего соединения и использованием ...

1 Ответ

0 голосов
/ 21 октября 2018

Вероятно, вам следует склоняться к использованию объединений с явными предложениями ON по ряду причин.Если вы хотите использовать USING здесь, тогда должно работать следующее:

SELECT
    t1.matricno,
    t2.stuname,
    t1.courseid,
    t3.cname
FROM lab5enrollment t1
INNER JOIN lab5student t2
    USING (matricno)
INNER JOIN lab5course t3
    USING (courseid)
WHERE
    t1.courseid = 'CSF3402';

Это предполагает, что lab5enrollment и lab5student оба имеют столбец с одинаковым именем matricno, и что lab5student и lab5course оба имеют столбец с именем courseid.

...