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基础知识总结(一)的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

  7. [SQL] SQL 基础知识梳理(七)- 集合运算

    SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...

  8. 常见SQL语句和SQL基础知识

    引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name   k ...

  9. SQL 基础知识终极指南

    什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.Pos ...

  10. sql基础知识集锦

    Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT ...

随机推荐

  1. [转]JQuery Ajax 在asp.net中使用总结

    本文转自:http://www.cnblogs.com/acles/articles/2385648.html 自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些 ...

  2. [转]让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求

    本文转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error S ...

  3. 怎么学习计算电磁学【QUORA】

    链接 There are several resources. But it depends on what you actually want to learn...Let me explain: ...

  4. 离散化+线段树 POJ 3277 City Horizon

    POJ 3277 City Horizon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 18466 Accepted: 507 ...

  5. HDU 5084 HeHe --找规律

    题意: 给出矩阵M,求M*M矩阵的r行c列的数,每个查询跟前一个查询的结果有关. 解法: 观察该矩阵得知,令ans = M*M,则 ans[x][y] = (n-1-x行的每个值)*(n-1+y列的每 ...

  6. *.location.href 用法:

    *.location.href 用法: top.location.href=”url”          在顶层页面打开url(跳出框架) self.location.href=”url”       ...

  7. struts2验证框架

    如何做一个工号 用户 密码 验证登录页面? 答:1,先画一个login.jsp ,如何画呢?先引入Struts2标签库,利用Struts2标签库画登录页面:如下: 2,先进入useractiion,在 ...

  8. 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...

  9. vue 2.0-1

    vue 2.0 开发实践总结之疑难篇   续上一篇文章:vue2.0 开发实践总结之入门篇 ,如果没有看过的可以移步看一下. 本篇文章目录如下: 1.  vue 组件的说明和使用 2.  vuex在实 ...

  10. slidingMenu有时候需要关闭侧边栏

    12个页签能往左滑动 但是往右滑动侧边栏就出来了 我们ViewPager的事件被占用了,那么就得关闭侧边栏的事件(第一个页签可以开启) 那么写个方法关闭侧边栏 slidingMenu.setTouch ...