4、SQL Server 基本的查询流程

基本的查询流程(Select)

一、基本语法

Select  *,Colums,or Expressions   [  From   Table   join Table  on

  Conditions ]  [Where Conditons] [Group by  Columns]  [Having 

Conditons] [Order  By Columns]

基本执行流程(逻辑上的):

1、From 子句将所有数据源组装成结果集

2、Where子句根据指定的条件对From子句组装的结果集进行筛选,从中选出满足

条件的行。

3、聚合函数对数据集进行汇总计算

4、Group By 子句根据指定的列将较大的数据集分成较小的数据集。

5、然后,可以对这些较小的数据组分别使用聚合函数

6、对聚合函数计算的结果,可以使用Having子句进行筛选

7、最后 Order By 子句决定了结果集的排列顺序

8、谓词:选择计算行,执行计算并根据指定的方式进行排序后,SQL可以只显示

前几行或只返回指定的行。

物理流程:查看执行计划

二、From后可能的数据源

1、SQL Server表

2、生成派生表的子查询(subselect或内联视图)

3、公用表达式(CTE)用于在传统的子查询中添加新的特性和格式

4、视图

5、返回行和列的用户定义的表值函数

6、使用OpenQuery()和其他函数从其他数据库或应用程序

(如:Access、Excel、Oracle那里获取数据的分布式数据源)

7、XML数据源

三、范围变量(也称别名)

在From子句中,可以为表指定范围变量或表别名。

语法: 表/视图 [ as ] 别名

如:Select  A.name From Student as A

四、对象名与关键字 

1、如果数据库中对象的名称(表或列、存储过程等对象的名称)与SQL关键字(SQL 中的

标识符),相同,可以使用方括号括起来让SQL知道这是一个对象的名称

如:Select name from [table]

这是一个名为table的表名。

2、如果数据库对象的名称中包含空格,同样可以使用  [  ] 来标识这是一个整体。

如:

Select  orderID,produceID from  [order  Details]

order Details是一个表名

注:表名由四部分组成: 服务器 . 数据库 . 架构 . 表

五、Where 条件

1、比较运算符

=、>、<、<=、<>、!=、其中不等于<> 可移植,而!=则不可移植

4个特殊的 Between and、in、like、is

2、通配符

%、_、[]、^

3、布尔运算符

and 、or 、not 

注:找东西最佳方法是直接去查找它,而不是排除其他所有东西,将否定的Where条件

改写为肯定条件将提高性能。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值