Home >Database >Mysql Tutorial >Oracle中的一些查询语句及其执行顺序

Oracle中的一些查询语句及其执行顺序

WBOY
WBOYOriginal
2016-06-07 16:42:331053browse

Oracle中的一些查询语句及其执行顺序 查询条件: 1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符;_:标识单个字符。

Oracle中的一些查询语句及其执行顺序

查询条件:

1)LIKE:模糊查询,,需要借助两个通配符,%:表示0到多个字符;_:标识单个字符。

2)IN(list):用来取出符合列表范围中的数据。

3)NOT IN(list): 取出不符合此列表中的数据记录。

4)BETWEEN…AND…:用来查询符合某个值域范围条件的数据,最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用。for example:    SELECT ename, sal FROM emp WHERE sal BETWEEN 1500 AND 3000;

5)IS NULL:空值NULL是一个特殊的值,比较的时候不能使用”=”号,必须使用IS NULL,否则不能得到正确的结果。

6)IS NOT NULL:与5相反。

7) >ANY : 大于最小  ALL:大于最大 

    for example:      SELECT empno, ename, job, sal, deptno FROM emp WHERE sal > ANY (345,3333,123)

8)DISTINCT:过滤重复。for example:  SELECT DISTINCT deptno FROM emp

9)ORDER BY:对查询出的数据按一定规则进行排序操作,ASC指定升序,DESC指定降序。

10)GROUP BY:把得到的数据按照给定的字段进行分组,例如:把整个数据表按部门划分成一个个小组。

11)HAVING:HAVING子句用来对分组后的结果进一步限制,比如按部门分组后,得到每个部门的最高薪水,可以继续限制输出结果。必须跟在GROUP BY后面,不能单独存在。例如: SELECT deptno, MAX(sal) max_sal FROM emp GROUP BY deptno HAVING MAX(sal) >4000;

查询语句的执行顺序:

1、FROM 子句:执行顺序为从后往前、从右到左。数据量较少的表尽量放在后面。

2、WHERE子句:执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE 子句的最右。

3、GROUP BY:执行顺序从左往右分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉。

4、HAVING 子句:消耗资源。尽量避免使用,HAVING 会在检索出所有记录之后才对结果集进行过滤,需要排序等操作。

5、SELECT子句:少用*号,尽量取字段名称。ORACLE 在解析的过程中, 通过查询数据字典将*号依次转换成所有的列名, 消耗时间。

6、ORDER BY子句:执行顺序为从左到右排序,消耗资源。

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle Linux 6.5安装Oracle 11.2.0.4 x64

本文永久更新链接地址:

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn