1.限定被選擇的資料行
select *|
from table
where condition(s)];
例:select ename,job,deptno
from emp
where job='clerk';
結果:ename job deptno
smith clerk 20
adams clerk 20
james clerk 30
miller clerk 10
注:字串和日期型數值都要用單引號引起來
字元型數值是區分大小寫的
日期型數值是區分日期表達形式的
預設的日期形式是dd-mon-rr
2.比較操作符
= 等於
> 大於
>= 大於等於
< 小於
<= 小於等於
<>或!= 不等於
between...and... 兩個值之間(包含)
in(list) 和多個值中任何乙個匹配
like 字形匹配
is null 是空值
1)使用比較操作符:
例1:select ename,sal,comm
from emp
where sal<=comm;
結果:ename sal comm
martin 1250 1400
例2:select ename,sal,hiredate
from emp
where hiredate>'10-9月-07'
and sal>1000;
2)使用between運算子
例:select ename,sal
from emp
where sal between 1000 and 1500;
結果:ename sal
ward 1250
martin 1250
turner 1500
adams 1100
miller 1300
3)使用in運算子
例:select empno,ename,sal,mgr
from emp
where mgr in (7902,7566,7788);
結果:empno ename sal mgr
7369 smith 2000 7902
7788 scott 3000 7566
7876 adams 1100 7788
7902 ford 3000 7566
4)使用like運算子:
例1:select ename,sal
from emp
where ename like 's%';
結果:ename sal
smith 2000
scott 3000
例2:select ename,sal
from emp
where ename like '_a%';
結果:ename sal
ward 1250
martin 1250
james 950
注:「%」表示零個或任意更多的字元
「_」表示乙個字元
可以使用escape識別符號實現對「%」和「_」的查詢
例3:select ename
from emp
where ename like '%a/_b%' escape '/';
5)使用空值運算子
例7:
select ename,mgr
from emp
where mgr is null;
結果:ename mgr
king
3.邏輯運算子
and 如果兩部分條件都為真則返回真值
or 兩部分條件中的任何乙個為真則返回真值
not 如果條件為假則返回真值
例1:select empno,ename,job,sal
from emp
where sal>=1100
and job='clerk';
例2:select empno,ename,job,sal
from emp
where sal>=1100
or job='clerk';
例3:select ename,job
from emp
where job not in('clerk','manager','analyst');
4.運算子優先順序
計算順序 運算子
1 所有比較運算子
2 not
3 and
4 or
注:使用括號可以改變運算子的優先順序
例1:select empno,ename,job,sal
from emp
where job='salesman'
or job='president'
and sal>1500;
//先運算and再運算or
例2:select empno,ename,job,sal
from emp
where (job='salesman'
or job='president')
and sal>1500;
//使用了括號,先運算or再運算and
5.排序
使用order by子句對行排序
-asc:公升序,預設值
-desc:降序
order by子句出現在select語句的最後
例1:select ename,job,deptno,hiredate
from emp
order by hiredate;
例2:select ename,job,deptno,hiredate
from emp
order by hiredate desc;
例3:select empno,ename,sal*12 annsal
from emp
order by annsal;
6.多列參與排序
order by列表的順序就是資料排列的順序
可以用沒有在select列表中出現的列進行排序
例:select ename,deptno,sal
from emp
order by deptno,sal desc;
練習1.查詢emp表,顯示薪水大於2000,且工作類別是manager的雇員資訊
select *
from emp
where sal>2000
and job='manager';
2.查詢emp表,顯示年薪大於30000,工作類別不是manager的雇員資訊
select *
from emp
where sal*12 >30000
and job not like 'm%';
3.查詢emp表, 顯示薪水在1500到3000之間,工作類別以「m」開頭的雇員資訊
select *
from emp
where sal between 1500 and 3000
and job like 'm%';
4.查詢emp表,顯示佣金為空並且部門號為20或30的雇員資訊
select *
from emp
where deptno in (20,30)
and comm is null;
或者:select *
from emp
where (deptno=20
or deptno=30)
and comm is null;
5.查詢emp表,顯示佣金不為空或者部門號為20的雇員資訊,要求按照薪水降序排列
select *
from emp
where deptno=20
or comm is not null
order by sal desc;
6.查詢emp表,顯示年薪大於30000工作類別不是manager,且部門號不是10或40的雇員資訊,要求按照雇員姓名進行排列
select *
from emp
where sal*12 >30000
and job not like 'manager'
and deptno not in(10,40)
order by ename;
Oracle學習筆記之二
筆錄oracle oracle完全學習手冊 2017 08 18 整體把握oracle資料庫,了解資料庫的體系架構 1.oracle資料庫的體系結構 物理儲存結構,邏輯儲存結構,記憶體結構,例項程序結構 2.oracle物理儲存結構 oracle物理上是由儲存在作業系統的檔案組成 資料檔案 dbf ...
oracle學習記錄之二
1.修改使用者密碼 passw 修改自己的密碼 alter user xiaoming identified by m1234 需要管理員許可權使用者才能給別的使用者改密碼 2.授予使用者連線到資料庫及建表等許可權 grant connect to xiaoming 授予xiaoming連線到資料庫...
SDL學習筆記之二
sdl su ce image sdl loadbmp image.bmp 2.從乙個表面,進行塊複製到另乙個表面 sdl blitsu ce int sdl blitsu ce sdl su ce src,sdl rect sr,sdl su e dst,sdl rect dr 第二個引數指定要傳...