联表查询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

 

posted @ 2022-09-02 10:41  做人要有梦想  阅读(89)  评论(0)    收藏  举报