首页 > 其他 > 详细

子查询的三种使用方式

时间:2015-04-01 19:21:54      阅读:245      评论:0      收藏:0      [点我收藏+]

子查询的三种使用方式:

1,子查询作为条件

  1》如果是跟在> < >= <= = != <>后面就必须保证子查询             只返回单个值,如果是返回多行一列,那么就需要使用in来指定范围,如果是返回一行多列,那么就报错

  Eg:(多行一列)

  Select * from Student where ClassId in (select ClassId from grade)

 

2,子查询作为结果集(可以将from后面的表用虚拟结果集进行替换)

//根据主键StudentNo排序,Row_NUMBER()会生成行号,over()指定排序字段

Select *,Row_NUMBER() over(order by StudentNo) from Student

Eg://虚拟结果集需要设置别名(temp) 生成的行号也要指定别名(as id)

Select * from (select *,Row_NUMBER() over(order by StudentNo) as id from Student) temp where id>0 and id<=5//分页

 

 

3,子查询作为列的值

Select (select studentname from Studnet where 

Student.StudentNo=Result.StudentNo),StudentResult from Result

子查询的三种使用方式

原文:http://www.cnblogs.com/ruyudeshui/p/4384478.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!