Oracle 第2节 过滤和排序数据

来源:互联网 发布:sql server 收费 编辑:程序博客网 时间:2024/04/29 10:10

学习目标

1.在查询中过滤行
2.在查询中对行进行排序


LessonAim

While retrieving data from the database, you may need to restrict the rows of data that are displayed or specify the order in which the rows are displayed. 

This lesson explains the SQL statements that youuse to perform these actions.


SELECT  *|{[DISTINCT] column|expression [alias],...}

FROM  table

[WHERE  condition(s)];

WHERE 子句紧随 FROM子句

SELECT employee_id,last_name,job_id,department_idFROM   employeesWHERE  department_id = 90 ;

学习到order by时,这个order 关键字也是不能插入到from 和where之间的


字符和日期要包含在单引号
字符大小写敏感,日期格式敏感

SELECTlast_name,job_id,department_idFROM   employeesWHERE  last_name = 'Whalen';

SELECT last_name,hire_date,department_idFROM   employeesWHERE  hire_date ='7-6月-1994'


日期以特定的格式书写!

这样书写很麻烦,可以使用to_char函数转换date类型为字符串类型

SELECT last_name,hire_date,department_idFROM   employeesWHERE  to_char(hire_date,'yyyy-mm-dd') = '1994-06-07'




SELECT last_name, salary

FROM   employees

WHERE  salary <= 3000;



SELECT last_name, salaryFROM  employeesWHERE salary BETWEEN 2500 AND 3500;

SELECT employee_id,last_name, salary,manager_idFROM   employeesWHERE  manager_id IN (100, 101, 201);


•使用 LIKE运算选择类似的值
•选择条件可以包含字符或数字:
% 代表零个或多个字符(任意个字符)
_代表一个字符

SELECT  first_nameFROM   employeesWHERE  first_name LIKE 'S%';


SELECT last_nameFROM   employeesWHERE  last_name LIKE '_o%';



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

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

SELECT job_idFROM   jobsWHERE  job_id LIKE ‘IT\_%‘ escape ‘\‘;

使用IS (NOT)NULL判断空值。

SELECT last_name,manager_idFROM   employeesWHERE  manager_id IS NULL;









0 0
原创粉丝点击