SQL Server多对多查询实例:左连接实现学生课程信息查询

您当前的位置:   首页 > 首页 > 解决方案
SQL Server多对多查询实例:左连接实现学生课程信息查询
发布时间:2026-02-10 05:10:32

SQL Server数据库应用中,我们经常会用到多对多查询,本文我们就给出了一个简单的多对多查询的实例,接下来就让我们一起来了解一下这部分内容。

题目是这样的:

---学生表   CREATE TABLE student (   ID INTEGER,   stu_No INTEGER,   NAME VARCHAR2(32)   );   --课程表   CREATE TABLE course (   ID INTEGER,   cou_no INTEGER,   NAME VARCHAR2(32)   );   --中间表   CREATE TABLE s_c (   stu_id INTEGER,   cour_id INTEGER   ); 

问题:找出名字为张三的学号,姓名 对应学的课程的编号和课程名称,一个sql完成。请问这个查询语句,应该怎么写?

解决方法:

--多表查询   SELECT STU.STU_NO, STU.NAME --, COU.COU_NO, COU.NAME  FROM S_C SC  LEFT JOIN STUDENT STU  ON STU.ID = SC.STU_ID  LEFT JOIN COURSE COU  ON COU.ID = SC.COUR_ID  WHERE STU.NAME = '梁帅伟';  --就算他没有参加任何课程,也将他的姓名,学号查询出来 (left join 以 此关键字前的表为准)  SELECT S.STU_NO 学号, S.NAME 姓名, C.COU_NO 课程编号, C.NAME 课程名称  FROM STUDENT S  LEFT JOIN S_C SC  ON S.ID = SC.STU_ID  LEFT JOIN COURSE C  ON C.ID = SC.COUR_ID  WHERE S.NAME = '梁文兴'

关于SQL Server数据库多对多查询的实例就介绍到这里的,希望本次的介绍能够对您有所收获!