11.6今日小总结(子查询,分页和join)

本文详细介绍了SQL查询中的子查询、分页查询及连接查询等高级技巧,包括如何查询特定班级的学生信息、特定学生的成绩信息,以及如何进行复杂的条件筛选等。

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

--一、子查询
--1.查询高二二班的所有学生,学生姓名\性别\学号...

--第一种
select * from T_Student where FstuClassId=
(select clsId from T_Class where cName='高二二班')
--第二种
select * from T_Student where
exists(select * from T_Class where cName='高二二班' and T_Student.FstuClassId=T_Class.clsId)

--2.查询高二二班和高二一班的所有学生,学生姓名\性别\学号。

select * from T_Student where FstuClassId in
(select clsId from T_Class where cName='高二一班' or cName='高二二班')

--3.查询刘备、关羽、张飞的成绩
select * from T_Student
select * from T_Score
select * from T_Class
select FscoreId,FEnglish,Fmath from T_Score where FstuId in
(select FstuId from T_Student where FstuName in('刘备' , '关羽' , '张飞'))

--二、分页(row_number() over())
--4.查询MyStudents表中 第8页中的数据(每页3条记录)
use Test
select * from Mystudents
select * from
(select *,ROW_NUMBER() over(order by FId asc)as RNumber from Mystudents)
as TBL3 where RNumber between (3*7+1) and (3*8)

--三、join
--1.查询年龄超过20岁的姓名\年龄\所在班级
use TextSchool
select FstuName,FstuAge,FstuClassId from T_Student as TS
inner join T_Class as TC on TS.FstuClassId=TC.clsId
where FstuAge>20

--2.查询出所有参加考试的同学的学生编号,姓名,考试成绩。
select * from T_Student
select * from T_Class
select * from T_Score

select Fstubianhao,FstuName,FEnglish,Fmath from T_Student
inner join T_Score on T_Score.FstuId=T_Student.FstuId

--3.查询出所有没有参加考试的同学的学生编号,姓名,考试成绩。     
select * from T_Student
select * from T_Score
delete from T_Score where FscoreId=6 or FscoreId=3
--使用子查询实现命题没有参加考试的同学的学生编号,姓名,考试成绩。     
select Fstubianhao,FstuName  from T_Student
where T_Student.FstuId not in (select T_Score.FstuId from T_Score)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值