Oracle 條件查詢 模糊查詢


示例:

1)      查詢出工資高於3000的員工信息

select  *

froms_emp e

where e.salary>3000;

 

2)      查詢出名為Carmen的員工所有信息

select * from s_emp e

wheree.first_name ='Carmen';

【oracle sql  關鍵字,表名,列名等不區分大小寫, 記錄中的值大小寫敏感】

 

3)      查詢出沒有績效的員工信息

select * from s_emp e

where  e.commission_pct is not null;

 

4)      查詢出工資在1200-3000 之間的員工的姓名,部門編號與薪資

selecte.first_name,e.dept_id,e.salary

froms_emp e

wheree.salary>=1200 and e.salary<=3000;

 

selecte.first_name , e.dept_id,e.salary

froms_emp e

wheree.salary between 1200 and 3000;

  • like : 模糊查詢

通配符 % 與 _

% :表示任意多個字符

_ : 表示任意一個字符

 

1)      查詢出員工姓名中包含字母為'a'的員工的信息

select * from s_emp e

where e.first_name like '%a%'

 

2)      查詢出員工姓名中第一個字母為'S'的員工的姓名

select * from s_emp e

wheree.first_namelike'S%'

 

3)      查詢出員工姓名中包含'a'和'f'的員工的信息

select * from s_emp e

wheree.first_name like '%a%' and e.first_name like '%f%';

4)      查詢出員工姓名中倒數第三個字母為'i'的員工的信息       

select * from s_emp e

wheree.first_name like '%i__ '

 

5)      查詢出在31,41部門的所有員工的姓名,部門編號與職位

selecte.first_name,e.dept_id,e.title from s_emp e

wheree.dept_id = 31 or e.dept_id = 41;

 

selecte.first_name,e.dept_id,e.title from s_emp e

where e.dept_id in (31,41);

 

【in(31,41)相當於:dept_id=31 or dept_id=41】

 

6)      找出既不是銷售,也不是辦事員的員工

select * from s_emp

where title != ‘Sales Representative’and title != ‘Stock Clerk’;

 

select * from s_emp

where title not in(‘Sales Representative’,’Stock Clerk’);

 

【not in(‘Sales Representative’,’Stock Clerk’)相當於】

title != ‘Sales Representative’and title != ‘Stock Clerk’

  • 【dual 表: oracle中虛擬表,保證sql語句完整。】

【獲得 4+30 的值】

select (4+30) from dual;

 

【獲得當前系統時間】

Select sysdate from dual;

 

【 獲取 ‘hello’】

select  'hello'  from dual;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM