3. 过滤和排序数据

来源:互联网 发布:linux 挂载有数据硬盘 编辑:程序博客网 时间:2024/05/16 07:26

过滤

  • 使用WHERE子句,将不满足条件的行过滤掉。
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 ;

字符和日期

  • 字符和日期要包含在单引号中。
  • 字符大小写敏感,日期格式敏感。
  • 默认的日期格式是 DD-MON月-RR。
SELECT last_name, job_id, department_idFROM   employeesWHERE  last_name = 'Whalen';
SELECT last_name, hire_date, department_idFROM   employeesWHERE  hire_date = '7-6月-1994'
select last_name, hire_datefrom employees--where hire_date = '7-6月-1994'where to_char(hire_date, 'yyyy-mm-dd') = '1994-06-07'

比较运算

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

其它比较运算

操作符 含义 BETWEEN…AND… 在两个值之间(包含边界) IN(set) 等于值列表中的一个 LIKE 模糊查询 IS NULL 空值

BETWEEN

SELECT last_name, salaryFROM   employeesWHERE  salary BETWEEN 2500 AND 3500;

IN

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

LIKE

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

ESCAPE

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

NULL

  • 使用 IS (NOT) NULL 判断空值。
SELECT last_name, manager_idFROM   employeesWHERE  manager_id IS NULL;

逻辑运算

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

AND

SELECT employee_id, last_name, job_id, salaryFROM   employeesWHERE  salary >=10000AND    job_id LIKE '%MAN%';

OR

SELECT employee_id, last_name, job_id, salaryFROM   employeesWHERE  salary >= 10000OR     job_id LIKE '%MAN%';

NOT

SELECT last_name, job_idFROM   employeesWHERE  job_id        NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

优先级

优先级 1 算术运算符 2 连接符 3 比较符 4 IS [NOT] NULL,LIKE,[NOT] IN 5 [NOT] BETWEEN 6 NOT 7 AND 8 OR

ORDER BY子句

  • 使用 ORDER BY 子句排序
    • ASC(ascend): 升序
    • DESC(descend): 降序
  • ORDER BY 子句在SELECT语句的结尾。
SELECT   last_name, job_id, department_id, hire_dateFROM     employeesORDER BY hire_date ;
0 0
原创粉丝点击