子查询&分页查询

--子查询

--把1个查询结果在另一个查询中使用,就叫做子查询(把一个查询语句做一个结果集使用)

--查询:班里所有班号是4,并且姓飞的同学信息

select * from Tbstudent where stuClassId=10 and stuName like '飞%'

 

--子查询版

--当使用子查询时,必须给子查询语句最后的结果集起别名

select stuName,stuNumber,stuAddress from

(select * from Tbstudent where stuClassId=10) as tb1 where stuName like '飞%'

 

--练习:查询'17级.NET班'所有学生信息

select  * from TbClass

select stuName,stuNumber,stuAddress from Tbstudent

where stuClassId =

(select clsId from TbClass where clsName='17.net班')

 

--练习:查询所有'14数据库班'和‘15.net班’的所有同学信息

select stuName,stuNumber,stuAddress from Tbstudent

where stuClassId in

(select clsId from TbClass where clsName='15.net班' or clsName ='14数据库班')

 

--练习:删除所有姓王的同学

delete from Tbstudent where stuName like '王%'

 

delete from Tbstudent where stuId in

(select stuId from Tbstudent where stuName like '王%')

 

--子查询的高级应用:

--分页查询:每页显示一条记录

--查询第一页

select top(1) * from Tbstudent

--查询第二页

select top(1) * from Tbstudent where stuId not in

(select top(1*1) stuId from  Tbstudent order by stuId asc) order by stuId asc

 

--查询第三页

select top(1) * from Tbstudent where stuId not in

(select top(2*1) stuId from  Tbstudent order by stuId asc) order by stuId asc

 

--查询第页

--思路:排除前多少条记录,取剩下记录的前几条

 

--查询第n页,每页显示m条记录

select top(m) * from Tbstudent where stuId not in

(select top((n-1)*m) stuId from  Tbstudent order by stuId asc) order by stuId asc

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值