多表连接查询

1:查询学生信息及学生的成绩

SELECT * FROM students stu INNER JOIN scores sc ON stu.studentNo = sc.studentNo

2:查询课程信息及课程的成绩

SELECT co.name,sc.score FROM courses co INNER JOIN scores sc ON co.courseNo = sc.courseNo

3:查询学生信息及学生的课程对应的成绩

SELECT *FROM students stu INNER JOIN scores sc ON stu.studentNo=sc.studentno

INNER JOIN courses co ON sc.courseNo=co.courseNO

4:查询王昭君的成绩,要求显示姓名、课程号、成绩

SELECT stu.name, co.courseNo,co.name,sc.score FROM students stu

INNER JOIN scores sc ON stu.studentNo=sc.studentno

INNER JOIN courses co ON sc.courseNo=co.courseNo

WHERE stu.name ='王昭君'

5:查询王昭君的数据库成绩,要求显示姓名、课程名、成绩

SELECT stu.name, co.name,sc.score FROM students stu

INNER JOIN scores sc ON stu.studentNo=sc.studentno

INNER JOIN courses co ON sc.courseNo=co.courseNo

WHERE stu.name ='王昭君' AND co.name='数据库'

6:查询所有学生的数据库成绩,要求显示姓名、课程名、成绩

SELECT stu.name, cs.name, sc.score FROM students stu

INNER JOIN scores sc ON stu.studentNo = sc.studentNo

INNER JOIN courses cs ON sc.courseNo = cs.courseNo

WHERE cs.name = '数据库'

7:查询男生中最高成绩,要求显示姓名、课程名、成绩

SELECT stu.name, stu.sex, co.name, MAX(sc.score)

FROM students stu INNER JOIN scores sc ON stu.studentNo=sc.studentno

INNER JOIN courses co ON sc.courseNo=co.courseNo WHERE stu.sex='男'

8:查询所有学生的成绩,包括没有成绩的学生

SELECT stu.name,sc.score FROM students stu

LEFT JOIN scores sc ON stu.studentNo=sc.studentno

LEFT JOIN courses co ON sc.courseNo=co.courseNo

9:查询所有学生的成绩,包括没有成绩的学生,需要显示课程名

SELECT stu.name,sc.score, co.name FROM students stu

LEFT JOIN scores sc ON stu.studentNo=sc.studentno

LEFT JOIN courses co ON sc.courseNo=co.courseNo

10:查询所有课程的成绩,包括没有成绩的课程

SELECT co.name, sc.score FROM courses co LEFT JOIN scores sc ON co.courseNo=sc.courseNo

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容