联表查询JOIN ON
三张表:student result grade subject
-- 查询参加了考试的学生(学号,姓名,科目编号,成绩)
-- JOIN(连接的表) ON(判断的条件) 连接查询
SELECT s.studentNo, studentName, studentResult, subjectNo
FROM student AS s
INNER JOIN result AS r
ON s.studentNo = r.studentNo
-- where 等值查询
SELECT s.studentNo, studentName, studentResult, subjectNo
FROM student AS s
INNER JOIN result AS r
WHERE s.studentNo = r.studentNo
-- left 左连接查询(以左表位主表)
SELECT s.studentNo, studentName, studentResult, subjectNo
FROM student AS s
LEFT JOIN result AS r
ON s.studentNo = r.studentNo
-- right 右连接查询 (以右表为主)
SELECT s.studentNo, studentName, studentResult, subjectNo
FROM student AS s
RIGHT JOIN result AS r
ON s.studentNo = r.studentNo
-- 查询缺考的同学
SELECT s.studentNo, studentName, studentResult, subjectNo
FROM student AS s
LEFT JOIN result AS r
ON s.studentNo = r.studentNo
WHERE studentResult IS NULL
-- 查询参加了考试的同学信息:学号,学生姓名,科目名,分数
SELECT s.studentNo, studentName, subjectName, studentResult
FROM student AS s
RIGHTJOIN result AS r
ON s.studentNo = r.studentNo
INNER JOIN subject AS sub
ON r.subjectNo = sub.subjectNo
浙公网安备 33010602011771号