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数据库多对多查询的实例就介绍到这里的,希望本次的介绍能够对您有所收获!