SQL Server 复杂查询

本文通过多个实例,详细讲解了SQL Server中如何进行复杂查询,包括自然连接、左外连接的应用,查询课程先修关系,以及涉及学生、课程、成绩等多表的综合查询。同时,还探讨了如何找出特定条件下的学生信息,如与特定学生在同一系学习、成绩高于平均分等。此外,还介绍了如何更新自身表的记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/********************************************

例1查询每个学生及其选修课程的情况

*********************************************/

1 SELECT STUDENT.*,SC.* FROM SC,STUDENT WHERE SC.SNO = STUDENT.SNO;

 

/********************************************

对例1用自然连接完成

*********************************************/

1 SELECT STUDENT.SNAME,STUDENT.SSEX,STUDENT.SAGE,STUDENT.SDEPT,SC.* 
2 FROM SC,STUDENT        
3 WHERE SC.SNO = STUDENT.SNO;


/*****************************************

查询每一门课程的间接先修课

*****************************************/

1 SELECT SY.CNO,SX.CPNO FROM COURSE SX,COURSE SY WHERE SX.CNO = SY.CPNO

 

/********************************************

对例1用左外连接连接完成

*********************************************/

1 SELECT STUDENT.SNAME,STUDENT.SSEX,STUDENT.SAGE,STUDENT.SDEPT,SC.* 
2 FROM   STUDENT LEFT JOIN SC ON(SC.SNO = STUDENT.SNO);


/********************************************

查询每个学生的学号、姓名、选修的课程名及成绩 *********************************************/

1 SELECT STUDENT.SNO,STUDENT.SNAME,COURSE.CNAME,COURSE.CCREDIT 
2 FROM SC,STUDENT,COURSE    
3 WHERE SC.CNO =COURSE.CNO AND SC.SNO = STUDENT.SNO;

 

/********************************************  

查询与刘晨在同一个系学习的学生

*********************************************/

1 SELECT SX.* 
2 FROM STUDENT SX    
3 WHERE SX.SDEPT IN  ( 
4              SELECT SY.SDEPT FROM STUDENT SY 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值