SQL SERVER 一个SQL语句的执行顺序

一个SQL
语句的执行顺序

入门心法:要练此功,先废其功。(先忘记已学的其他语言,用T-SQL来思考。)
所需代码:https://github.com/956159241/Microsoft-SQL-Server-2008-T-SQL-Fundamentals

数据库复习⑥

1、From (告诉程序 来自哪张表  如果是表表达式 依旧是如此顺序)

目录

2016年6月18日

2、Where(条件筛选 
谓词筛选 )

第一章 T-SQL查询和编程基础

18:16

3、Group by(分组)

1.1 理论背景

Main SQL
增删改查

4、Having(分组  谓词筛选 )

1.1.1 SQL

1.SQL
核心内容

5、Select (表达式)

1.1.2 集合论

DDL(Data Definition Language)数据定义语言

Query Language 数据查询语句

DML(Data Manipulation language)数据操纵语言

DCL(DataControl language)数据控制语言

6、表达式(开窗函数
聚合函数
等等)

1.1.3 谓词逻辑(Predicate Logic)

2.Queries
查询

7、Distinct(去重复)

1.1.4 关系模型(Relational Model)

Single-relation queries 单表查询

Multi-relation queries 多表查询

Subqueries 子查询

Grouping and Aggregation 分组和聚集

8、ORDER BY 

1.1.5 数据生命周期

3.Select-From-Where
Statements

9、TOP/OFFSET-FETCH

1.2 SQL Server 体系结构

语句格式:

SELECT [ ALL | DISTINCT ] <目标列表达式> [
,<目标列表达式> ]…

FROM <表名或视图名> [ ,<表名或视图名> ]…

[ WHERE <条件表达式> ]

[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]

[ ORDER BY <列名2> [ASC|DESC]]

解释:(1)上面中括号中的内容为选择内容,可以有也可以没有,注意前面有一个逗号”,”

             (2)WHERE语句里面不能有集函数,同时WHERE语句可以省略;

             (3)GROUP BY 语句用来进行分组,后面的HAVING
语句可以包括集函数,用来进行判断;

             (4)ORDER
BY语句用来进行排序,排序操作实际上是在查询结束之后进行的,默认为ASC
递增排序,也可以选择DESC为递减排序;

             (5)SQL查询语句对字母大小写不敏感,因此Select
和SELECT均可以被识别,不过建议使用大写;

             (6)GROUP BY语句应该在WHERE语句之后,其实GROUP
BY语句应该在查询语句的最后面,由于ORDER
BY语句不属于查询语句了,因此可以放在ORDER BY 之前;

             
(7)尽管SELECT语句放在查询语句的最前面但是其执行为最后的,也就是在GROUP
BY语句之后,因此在GROUP BY语句内不能使用SELECT 语句里面的别名;

              (8)SELECT 语句中的ALL
与DISTINCT对应的是:查询结果保留重复、查询结果不包括重复;

              (9)SELECT 语句是用来选择属性列,不过可以使用*
操作符可以选择出表中的所有属性列。

 

1.2.1 SQL Server实例

3.Single-Relation
Queries 单表查询

1.2.2 数据库

单表查询相对于多表查询属于最基本的查询操作。

可以在SELECT语句中选择结果表的属性列以及使用别名甚至使用集函数、由于表只有一个因此在FROM语句中只要写上表名即可、在WHERE语句中可以使用AND关键字来进行多项判断和筛选、在GROUP
BY语句中可以选择某一个属性列进行分组、在ORDER BY语句进行排序选择。

1.2.3 架构(Schema)和对象

举例说明:

1.3 创建表和定义数据完整性

 图片 1

图片 2

图片 3

图片 4

图片 5

图片 6

1.3.1 创建表

Range
comparison:between

1.3.2 定义数据完整性

使用谓词: BETWEEN…AND…大于等于并且小于等于

第二章 单表查询

NOT BETWEEN …AND…

2.1 SELECT 语句的元素

Set
operator: in

2.1.1 FROM 子句

使用谓词 IN <值表>, NOT IN <值表>

2.1.2 WHERE 子句

图片 7

2.1.3 GROUP BY 子句

Patterns 字符串匹配问题

2.1.4 HAVING 子句

使用关键字Like

2.1.5 SELECT 子句

% = “any string”; _ = “any
character.”

2.1.6 ORDER BY 子句

图片 8

2.1.7 TOP 选项

4.三种逻辑值 TRUE =
1 , FALSE = 0 , UNKNOWN = 1/2

2.1.8 OVER子句

AND = MIN ; OR = MAX ; NOT(x) = 1-x

2.2 谓词和运算符

NULL 空值比较特殊,需要特别对待

2.3 CASE 表达式

图片 9

图片 10

2.4 NULL值

5.Aggregation
集函数

2.5 同时操作(All-At-Once Operation)

SUM求和函数、AVG求平均值函数、COUNT计数函数、MIN最小值函数、MAX最大值函数、COUNT(*)元组个数

2.6 处理字符数据

图片 11

图片 12

2.6.1 数据类型

6.Grouping
分组

2.6.2 排序规则(Collation)

举例:

2.6.3 运算符和函数

图片 13

图片 14

2.7处理日期和时间数据

7.HAVING
字句

第三章 联接查询

图片 15

3.1 交叉联接

8.Multi-Relation Queries 多表查询

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website