SQL语句总结
来源:互联网 发布:户型设计软件 编辑:程序博客网 时间:2024/06/17 23:47
1.union 和union all 操作符
1)union内部的select语句必须拥有相同的列,列也必须有相似的数字类型。同时,每条select语句中列的顺序相同。
union语法(结果集无重复)
select x from table1union select y from table2
union all语法(结果集有重复)
select x from table1union allselect y from table2
2.CTE(Common Table Expression)
公共表表达式,可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE ⅥEW 语句的执行范围内定义的临时结果集
CTE可用于:
1).创建递归查询
2).在同一语句中多次生成的表
把test表中salary最大的id记录保存在test_CTE中,再调用
with test_CTE(id,salary) as ( select id,max(salary) from test group by id ) select * from test_cte
查询ItemId=2及子节点,也就是管理费用和其下属所有节点的信息
Declare @i intselect @i=2;with Co_ItemNameSet_CTE(ItemId,ParentItemId,ItemName,[Level])AS( select ItemId, ParentItemId,ItemName,1 AS [Level] from Co_ItemNameSet where ItemId=@i union all select c.ItemId,c.ParentItemId,c.ItemName,[Level]+1 from Co_ItemNameSet c inner join Co_ItemNameSet_CTE ct on c.ParentItemId=ct.ItemId)select * from Co_ItemNameSet_CTE
结果:
3.row_number() over()
--不用partition byselect name,Gender,FenShu, row_number()over(order by FenShu desc) as num from dbo.PeopleInfo--使用partition byselect name,Gender,FenShu, row_number()over(partition by Gender order by FenShu desc) as num from dbo.PeopleInfo;--查找出不同性别中分数最高的学生with tempas( select name,Gender,FenShu, row_number()over(partition by Gender order by FenShu desc) as num from dbo.PeopleInfo)select * from temp where num=1
4.Join
从两个或更多表中获取结果,就要执行Join
Inner Join
select P.LastName,P.FirstName, O.OrderNo from dbo.Persons as Pinner join dbo.mOrder as Oon P.Id= O.Id_Porder by P.LastName
结果:
left Join
select c.customerid as 消费者,COUNT(O.[orderid]) as 订单数 from [SQLDemo].[dbo].[Customers] as C left join [SQLDemo].[dbo].[Orders] as O on C.customerid=O.customerid where C.city='Madrid' group by C.customerid having COUNT(O.orderid)<3 order by 订单数
5.SQL通配符
/****** SQL 通配符 ******/select * from Persons where City like '[ALN]%'
0 0
- 简单SQL语句总结
- SQL 语句总结
- SQL事务处理语句总结
- 日常sql语句总结
- SQL语句精华总结
- sql备份语句总结
- sql语句总结
- SQL语句教训总结
- sql语句总结
- 基本sql语句总结
- SQL事务处理语句总结
- sql 语句总结
- sql语句总结
- sql语句总结二
- SQL语句总结
- SQL常用语句总结
- sql 语句总结
- sql语句使用总结
- 涉及业务,请保持独立
- playframework开发一些tips(class)
- android的混淆器
- UITabBarController的外观修改总结
- centos6.x 和centos5.x nfs 服务配置
- SQL语句总结
- 机器学习笔试面试系列算法集锦
- Objective-C语法之代码块(block)的使用
- 在 SharePoint Foundation 2010 中使用事件接收器
- http://bbs.csdn.net/topics/320159639
- Objective-C语法之Category的使用
- 慎用sscanf、swscanf
- 数据库-Oracle-plsql(二)
- Redis的存储