热门文章
 
Transact_SQL索引
应用程序中的高级SQL注入
sql server数据转换
子查询
使用约束
case 的用法
生成测试数据 T-SQL系列
经典查询排序案例
获取排队顺序 T-SQL教案
查找不同时间段间的差异 T-
 推荐文章
 
join 方式
SQL Server中保存和
SELECT TOP N 问
SQL Server中的全文
sql server 由于登
SQL Server2005
怎样将Varbinary数据
MS SQL SERVER
数据分组
distinct id的取法
SQL Server安全防范
MD5算法的T-SQL实现
改变自增字段的初始值
sql server 数据恢
使用派生表
几个SQL日志有关的概念
 
你现在的位置:您现在的位置是: 中国ASP>>数据库>>sql server
子查询

子查询
1。select ... where 列或运算式 比较运算运算【any|all](子查询)
只要主查询中列或运算式与子查询所得结果中任一(any)或全部(all)数据符合比较条件的话则主查询的结果为我们要的数据

选出不同的人金额最高的订单
select * from sales a
where tomat=(select max(totmat) from sales where name=a.name)

select sale_id,tot_amt
from sales
where tot_amt>any(select tot_amt from sales where sale_id='e0013'and 'order_date='1996/11/10')

2。select ...where 列或运算式[not] in (子查询)
只要主查询中列或运算式是在(不在)子查询所得结果列表中的话,则主查询的结果为我们要的数据
select sales_id,tot_amt
from sales
where sale _id in(select sale_id from employee where sex='F')
3.select ...where [not] exists ( 子查询)
子查询的结果至少存在一条数据时,则主查询的结果为我们要的数据。(exists)或自查询的结果找不到数据时,则主查询的结果为我们要的数据(not exists)
我们经常查询的两个表有多少重复的记录就用这个
以下范例让你找出滞销的产品,也就是尚未有任何销售记录的库存产品。此范例主要是查询以库文件中的每一条产品代码到销售明细表中去查询,如果查询不到任何一条,表示该产品未曾卖出任何一件。
select * from stock a
where not exists(select * from sale_item b
where a.prod_id=b.prod_id and a.stup_id=b.stup_id)

select emp_no,emp_name from employee
from employee a
where (select sum(tot_amt) from sales b where a.sale_id=b.emp_no)<200000

相关信息:

.Net下调用SqlServer2k存储过程
SQLServer分页查询通用存储过程
access升级到SQLServer如何调整字段类型及函数:JET SQL 和T-SQL中的同义词
Transact_SQL索引
应用程序中的高级SQL注入
sql server数据转换
子查询
使用约束
case 的用法

 

中国ASP技术 ASP.ORG.CN 版权所有 2004-2008