码迷,mamicode.com
首页 > 其他好文 > 详细

子查询的三种使用方式

时间:2015-04-01 19:23:18      阅读:765      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!