您的位置:首页 > 数据库 > Oracle

Oracle常用命令(no.3)

2015-06-03 15:06 441 查看

Oracle常用命令(no.3)

过滤(Where)

语法

SELECT  *|{[DISTINCT] column|expression [alias],...}
FROM    table
[WHERE  condition(s)];


使用WHERE 子句,将不满足条件的行过滤掉。

WHERE 子句紧随 FROM 子句。

示例

SELECT employee_id, last_name, job_id, department_id
FROM   employees
WHERE  department_id = 90 ;




处理字符串与日期

字符和日期要包含在单引号中。

字符大小写敏感,日期格式敏感。

默认的日期格式是 DD-MON-RR。

示例

SELECT last_name, job_id, department_id
FROM   employees
WHERE  last_name = 'Whalen';


比较运算

简单运算符

操作符含义
=等于(不是==)
>大于
>=
大于、等于
<小于
<=小于、等于
<>不等于(也可以是!=)
示例

SELECT last_name, salary
FROM   employees
WHERE  salary <= 3000;


其他运算符

操作符含义
between…and…在两个值之间(包含边界)
in(set)等于值列表中的一个
like模糊查询
is null空值

BETWEEN

使用 BETWEEN 运算来显示在一个区间内的值

SELECT last_name, salary
FROM   employees
WHERE  salary BETWEEN 2500 AND 3500;


IN

使用 IN运算显示列表中的值

示例

SELECT employee_id, last_name, salary, manager_id
FROM   employees
WHERE  manager_id IN (100, 101, 201);


LIKE

使用 LIKE 运算选择类似的值

选择条件可以包含字符或数字:

%
代表零个或多个字符(任意个字符)

_
代表一个字符

示例1

SELECT  first_name
FROM    employees
WHERE   first_name LIKE 'S%';


示例2

%
-
可以同时使用

SELECT last_name
FROM   employees
WHERE  last_name LIKE '_o%';


示例3

可以使用 ESCAPE 标识符选择‘%’和 ‘_’ 符号

回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可


SELECT job_id
FROM   jobs
WHERE  job_id LIKE ‘IT\_%‘ escape ‘\‘;


对空值(null)的处理

使用 IS (NOT) NULL 判断空值

示例

SELECT last_name, manager_id
FROM   employees
WHERE  manager_id IS NULL;


逻辑运算

操作符含义
AND逻辑并
OR逻辑或
NOT逻辑否

AND

AND 要求并的关系为真

示例

SELECT employee_id, last_name, job_id, salary
FROM   employees
WHERE  salary >=10000  AND  job_id LIKE '%MAN%';


OR

OR 要求或关系为真

SELECT employee_id, last_name, job_id, salary
FROM   employees
WHERE  salary >= 10000  OR   job_id  LIKE '%MAN%';


NOT

SELECT last_name, job_id
FROM   employees
WHERE  job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');


优先级

优先级
1算术运算符
2连接符
3比较符
4IS[NOT]NULL,LIKE,[NOT]IN
5[NOT]BETWEEN
6NOT
7AND
8OR
可以使用括号改变优先级顺序

排序

语法

使用 ORDER BY 子句排序

ASC(ascend): 升序(可以省略)

DESC(descend): 降序

ORDER BY 子句在SELECT语句的结尾

排序的规则

可以按照select语句中的列名排序

可以按照别名列名排序

可以按照select语句中的列名的顺序值排序

如果要按照多列进行排序,则规则是先按照第一列排序,如果相同,则按照第二列排序;以此类推

示例1

SELECT   last_name, job_id, department_id, hire_date
FROM     employees
O
a3f5
RDER BY  hire_date ;


示例2

降序排序

SELECT   last_name, job_id, department_id, hire_date
FROM     employees
ORDER BY hire_date DESC ;


按别名排序

SELECT employee_id, last_name, salary*12 annsal
FROM   employees
ORDER BY annsal;


多个列排序

按照ORDER BY 列表的顺序排序。

可以使用不在SELECT 列表中的列排序。

示例

SELECT last_name, department_id, salary
FROM   employees
ORDER BY department_id, salary DESC;


Oracle常用命令no3
过滤Where

处理字符串与日期

比较运算
简单运算符

其他运算符
BETWEEN

IN

LIKE

对空值null的处理
使用 IS NOT NULL 判断空值

逻辑运算
AND

OR

NOT

优先级

排序
语法

按别名排序

多个列排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息