SQL基础知识总结(一)
1.union 和union all 操作符
1)union内部的select语句必须拥有相同的列,列也必须有相似的数字类型。同时,每条select语句中列的顺序相同。
union语法(结果集无重复)
select x from table1 union select y from table2
union all语法(结果集有重复)
select x from table1 union all select 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 int
select @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 by
select name,Gender,FenShu, row_number()over(order by FenShu desc) as num from dbo.PeopleInfo --使用partition by
select name,Gender,FenShu, row_number()over(partition by Gender order by FenShu desc) as num from dbo.PeopleInfo
;
--查找出不同性别中分数最高的学生
with temp
as
(
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 P inner join dbo.mOrder as O on P.Id= O.Id_P order 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]%'

SQL基础知识总结(一)的更多相关文章
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式
SQL 基础知识梳理(六)- 函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...
- [SQL] SQL 基础知识梳理(七)- 集合运算
SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...
- 常见SQL语句和SQL基础知识
引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name k ...
- SQL 基础知识终极指南
什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.Pos ...
- sql基础知识集锦
Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT ...
随机推荐
- [转]asp.net解决高并发的方案.
本文转自:http://www.cnblogs.com/qq75077027/archive/2012/11/27/2791703.html 最近几天一直在读代震军的博客,他是Discuz!NT的设计 ...
- Virtual Box上安装CentOS7
问题1:安装完没有桌面系统(Gnome或KDE)解答:安装的时候,软件选择为最小安装",更改该选择 问题2:开机提示Initial setup of CentOS Linux 7 (core ...
- NUL 与 NULL
NUL 与 NULL 在C语言中,字符串表示为字符的数组.字符串最后一个字符为空字符 ('\0'),官方将其定义为 NUL ,而 NULL 是一个宏,其定义如下: #define NULL ((voi ...
- uGUI练习(一) Anchor
一.练习步骤 如果用过NGUI的Anchor,我们知道在2.x的版本有UIAnchor组件(下图左),3.x版本中,每个UIWidget有自带的Anchors(下图右) 而uGUI的Anchor用起来 ...
- Lambda 表达式(C# 编程指南)
Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数.Lambda 表达式对于编写 LINQ 查 ...
- 【markdown】markdown常用语法
标题 用1~6个# 标题1 标题2 标题3 标题4 标题5 标题6 源码: # 标题1 ## 标题2 ### 标题3 #### 标题4 ##### 标题5 ###### 标题6 引用 引用使用 引用使 ...
- java 8-7 接口
1. 接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类实现接口用implements表示 class 类名 implements 接口名 {} C:接口不 ...
- PHP安装memcache扩展接口步骤
1.将php_memcache.dll文件保存到php的应用程序扩展ext目录中 2.在php.ini配置文件添加扩展的位置,加入一行extension=php_memcache.dll 3.重新启动 ...
- localStorage和sessionStorage区别
localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现) ...
- codevs 1133 表达式的值
1133 表达式的值 2011年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descript ...