玖叶教程网

前端编程开发入门

Oracle过滤和排序数据(oracle分组过滤)

一、在查询中过滤行(where)

select employee_id,last_name,salary

from employees

where employee_id > 200

操作符 含义

= 等于(不是==)

> 大于

>= 大于、等于

< 小于

<= 小于、等于

<> 不等于(也可以是!=)

赋值使用:=符号


?

between…and…包含边界值:

select last_name,hire_date,salary

from employees

where salary>=4000 and salary<=7000;

select last_name,hire_date,salary

from employees

where salary between 4000 and 7000;

in取括号中的几个值(离散值)

select last_name,hire_date,salary,department_id

from employees

where department_id =90 or department_id =80 or department_id=70

select last_name,hire_date,salary,department_id

from employees

where department_id in (70,80,90);

like模糊查询

select last_name,hire_date,salary,department_id

from employees

where last_name like '%a%';

--like

--员工中名字含有字符a的员工

select last_name,hire_date,salary,department_id

from employees

where last_name like '%a';

--员工中名字末位是a的员工

select last_name,hire_date,salary,department_id

from employees

where last_name like '%\_%' escape '\';

--员工中名字含有_的员工

null 空

select last_name,hire_date,salary,department_id,commission_pct

from employees

where commission_pct is null;

?

1.逻辑运算

操作符 含义

AND 逻辑并

OR 逻辑或

NOT 逻辑否

select last_name,hire_date,salary,department_id,commission_pct

from employees

where department_id = 80 and salary <=8000;

2.优先级

优先级

1 算法运算符

2 连接符

3 比较符

4 IS (NOT) NULL,LIKE,(NOT) IN

5 (NOT) BETWEEN

6 NOT

7 AND

8 OR

可以使用括号改变优先级顺序


?

二、在查询中对行进行排序

select last_name,hire_date,salary,department_id,commission_pct

from employees

where department_id = 80

order by salary desc

--desc降序 asc升序,默认为desc

select last_name,hire_date,salary,department_id,commission_pct

from employees

where department_id = 80

order by salary asc,last_name asc;

--根据工资降序排序,工资相同时按照工资排序

总结

1.使用where子句过滤数据

  • 使用比较运算
  • 使用between and,in,like,null运算
  • 使用逻辑运算符AND,OR和NOT

2.使用ORDER BY子句进行排序

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言