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;
Oracle 條件查詢 模糊查詢