编写SQL查询的关键—SQL语句的执行顺序
【文章标题】编写
SQL
查询的关键—
SQL
语句的执行顺序
【文章作者】曾健生
【作者邮箱】
zengjiansheng1@126.com
【作者
QQ
】
190678908
【作者
MSN
】
zengjiansheng1@hotmail.com
【作者博客】
blog.csdn.net/newjueqi
*******************************************************************************
编写
SQL
语句是每个程序员应该具备的基本功。在实际开发过程中,需要编写比较复杂的
SQL
查询语句是必不可少的,但很多
SQL
书籍上不是简单的介绍一下就是出最终的查询语句,编写复杂
SQL
查询的具体思路却没有多少介绍,这不能不说是一种巨大的遗憾
,
看着一串无比复杂的
SQL
语句,没有掌握方法的话谁看了都会头晕
^-^
回忆一下学习编程语言的经历(
C++,java
等),我们一般都是先学习变量的定义,然后是流程控制语句,接着是函数,类等等。但我们在学习
SQL
,
SQL
书籍上都普遍忽略了一个重要的方面:
SQL
语句的执行顺序。
不知道是什么原因,这一点确实没被多少书籍提过。掌握了SQL语句的执行顺序的规律,就能较轻松的编写出复杂的
SQL
查询。
SQL
语句的执行顺序如下:
1
、
from
子句组装来自不同数据源的数据;
2
、
where
子句基于指定的条件对记录行进行筛选;
3
、
group by
子句将数据划分为多个分组;
4
、使用聚集函数进行计算;
5
、使用
having
子句筛选分组;
6
、计算所有的表达式;
7
、使用
order by
对结果集进行排序。
下面举一个简单的例子举例说明,假设有以下一张表
student
:
ID
Name
Age
1
Tom
23
2
Jack
25
3
Lucy
15
4
Anay
18
5
Bobby
21
要求通过
SQL
语句把年龄大于
20
的学生姓名查出来
SQL
语句如下:
Select name
from student
Where age>20
结果是:
Tom
Jack
Bobby
那对于这个简单的
SQL
语句,执行顺序是怎么样的呢?
1.
from
子句组装来自不同数据源的数据,简单点来说就是要确定查询的数据来自哪个表。如果
from
关键字后跟的表有两个或以上,就产生笛卡尔积。
2.
where
子句对每个记录行进行
筛选,把不符合条件的行筛选掉。
3. &
相关文档:
[可用]如果出现安装sql server 2000要求CD-KEY的情况,请使用regedt32找开注册表,在以下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]中建立一个DWORD键
SafeDLLSearchMode并设值为0
这个试过,是可以用的
H6TWQ-TQQM8-HXJYG-D69F7-R84VM - ......
大家好!最近又有了一些模块用法的心得,那就是利用模块使你的内存变成一个虚拟的数据库模式,使你可以在没有数据库的情况下,将txt文件的数据进行 sql语句处理,感觉很新鲜吧,不过这个不用感到惊讶,Perl一直是很完美的,哈哈,那我们就来看看这个神奇吧!
需要安装 模块:
SQl::Library;
DBI
下面是程序 ......
在软件开发中,常常需要为程序建立Sql Server数据库的运行环境。完成如在SQL Server数据库中建立设备,建立数据库,建立表格,分配权限等功能,如何方便的建立应用程序所需Sql Server环境的数据库环境,而不用启动SQL Enterprise Manager呢?
下面来看:
启动VB6.0,新建一个工 ......
1.查询的模糊匹配
尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用。
解决办法:
其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:
a、修改前台程序—&mdas ......
定义标量变量语法
在PL/SQL语块中定义变量和常量的语法如下
indentifier [CONSTANT] datatype [NOT NULL] [:=|DEFAULT expr]
indentifier 用于指定变量或常量的名称
CONSTANT:用于指定常量。当定义常量时,必须指定它的初始值,并且其数值不能改变
datatype:用于指定变量或常量的数据类型。
NOT NULL: 用于强 ......