oracle的條件查詢和排序查詢

2021-09-26 03:45:03 字數 3010 閱讀 7691

在查詢中過濾行

過濾使用 where 子句,將不滿足條件的行過濾掉。

select *|

from table

[where condition(s)];

where 子句緊隨 from 子句

where 子句

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

使用 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 運算選擇類似的值

選擇條件可以包含字元或數字 :

% 代表零個或多個字元 ( 任意個字元 ) 。

_ 代表乙個字元。

select first_name

from employees

where first_name like 『s%』;

『%』 和 『-』 可以同時使用。

select last_name

from employees

where last_name like 『_o%』;

可以使用 escape 識別符號選擇 『%』 和 『_』 符號。

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

and 要求並的關係為真。

select employee_id, last_name, job_id, salary

from employees

where salary >=10000

and job_id like 『%man%』;

oror 要求或關係為真。

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');
優先順序

可以使用括號改變優先順序順序

order by子句

使用 order by 子句排序

asc ( ascend ) : 公升序

desc ( descend ) : 降序

order by 子句在 select 語句的結尾。

select last_name, job_id, department_id, hire_date

from employees

order by hire_date ;

降序排序

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 last_name, department_id, salary

from employees

order by department_id, salary desc;

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

Oracle條件查詢

條件查詢 關係運算子 邏輯運算子 and or not 其他運算子 like 模糊查詢 in set 在某個區間內 between and.在某個區間內 is not 判斷為空 is not null 判斷不為空 查詢每月能得到獎金的員工資訊 select from emp select from ...

Oracle 條件查詢 模糊查詢

示例 1 查詢出工資高於3000的員工資訊 select froms emp e where e.salary 3000 2 查詢出名為carmen的員工所有資訊 select from s emp e wheree.first name carmen oracle sql 關鍵字,表名,列名等不區...

Oracle基礎條件查詢

當我們要組合三個或者三個以上條件的時候,就需要用到小括號 來表示應該如何進行條件運算。例如,編寫乙個複雜的條件 工資在5000以下或者10000以上,並且是job id為sa man 按多個條件查詢employees 如果不加括號,條件運算按照not and or的優先順序進行 not優先順序最高,...