黑马程序员 SQL SERVER 第三天

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

Having 是对分组后的信息过滤,而where是对原始数据分组

限制结果集

1:select top * from T_Employee order by FSalary

2:(*)检索按照工资从高到底排序检索从第六名开始一共三个人的信息: select top 3 * from T_Employee where FNumber not in(selectTop 5 FNumber from T_Employee order by FSalary desc) order by FSalary desc(主要实现分页 Row_Number函数)

去掉重复数据

1:select FDepartment from T_Employee-select distinctFDepartment from T_Employee

2:distinct 是对整个结果几进行数据重复处理的,而吧是针对每一列,因此下面的语句并不会只保留FDepartment进行重复处理:

Select distinctFDepartment,FSubCompany from T_Employee

注意:为表增加字段 alter Table 表名 ADD 字段VARCHAR(10)

注意:如果使用distinct 有多个字段,完全不重复的才算

联合结果集

1:简单的结果集联合

Select FNumber,FName,FAgefrom T_Employee union select FIdCardNumber,FName,FAge from T_Employee

基本原则:每一个结果集必须有相同的列数,每一个结果集的列必须类型相容

2:selectFNumber,FName,FAge,FDepartment from T_Employee union selectFIdCardNumber,FName,FAge,’临时工,无部门’ from T_Employee

Union all 合并两个结果集,并将其完全重复的数据合为一条数据

Select FName,FAgefrom T_Employee nuion select FName,FAge from T_TempEmployee

Select FName,FAgefrom T_Employee

union all

select FName,FAgefrom T_TempEmployee

union因为要进行重复扫描,所以效率低,因此不是确定要合并重复行,那么就用union all

union 要将重复数据合并,union all是不去重复数据

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值