本文實例講述了Oracle中scott表結構與簡單查詢的方法。分享給大家供大家參考。具體分析如下:
1、scott用戶的表的結構
查看表結構
desc 表名;//desc emp;
emp表:
SQL> desc emp;
名稱 是否為空? 類型
----------------- -------- ------------
EMPNO NOT NULL NUMBER(4) 雇員編號
ENAME VARCHAR2(10) 雇員姓名
JOB VARCHAR2(9) 雇員職位
MGR NUMBER(4) 對應領導編號
HIREDATE DATE 雇用日期
SAL NUMBER(7,2) 基本工資
COMM NUMBER(7,2) 獎金,傭金
DEPTNO NUMBER(2) 部門編號
dept表:
SQL> desc dept;
名稱 是否為空? 類型
----------------- -------- ------------
DEPTNO NOT NULL NUMBER(2) 部門編號
DNAME VARCHAR2(14) 部門名稱
LOC VARCHAR2(13) 部門所在位置
salgrade表:
SQL> desc salgrade;
名稱 是否為空? 類型
----------------- -------- ----------
GRADE NUMBER 工資等級
LOSAL NUMBER 此等級最高工資
HISAL NUMBER 此等級最高工資
bonus表:
SQL> desc bonus;
名稱 是否為空? 類型
----------------- -------- ------------
ENAME VARCHAR2(10) 雇員姓名
JOB VARCHAR2(9) 雇員職位
SAL NUMBER 雇員工資
COMM NUMBER 雇員獎金
2、簡單查詢
1.查詢不重復的職位
1
|
select distinct job from emp; |
2.查詢年薪,起別名,別名不要用單引號括起來
1
|
select sal*12 [ as ] income from emp; |
3.簡單查詢中可以使用"||"連接查詢的字段
1
|
select empno || ',' || ename from emp; |
sql語句中的字符串用單引號表示
select '雇員編號是:'||empno||'姓名是:'||ename||'工資為:'||sal||'職位是:'||job||'!' 雇員信息 from emp;
4.在oracle中數據時區分大小寫的
1
|
select * from emp where job = 'CLERK' ; |
查詢不是辦事員的雇員信息
1
2
3
|
select * from emp where job!= 'CLERK' ; select * from emp where job<> 'CLERK' ; select * from emp where NOT job= 'CLERK' ; |
5.BETWEEN ……AND 大于等于 小于等于
1
|
select * from emp where sal between 1500 and 3000; |
也可以求反
1
|
select * from emp where sal not between 1500 and 3000; |
也可以是日期
1
|
select * from emp where hiredate between '01-1月 -1981' and '31-12月 -81' ; |
6. 判斷是否為空IS(NOT)NULL
1
2
|
select * from emp where comm Is not null ; select * from emp where not comm Is null ; |
7.IN操作符
1
2
|
select * from emp where empno in (7521,7844,5555); select * from emp where empno not in (7521,7844,5555); |
關于NOT IN
如果現在使用了IN操作符,查詢范圍之中存在了null,不影響查詢
1
|
select * from emp where empno in (7521,7844, null ); |
如果現在使用的是NOT IN操作符,如果查詢范圍之中有了null,則不會有任何的結果返回
1
2
|
select * from emp where not empno in (7521,7844, null ); select * from emp where empno not in (7521,7844, null ); |
8.LIKE子句
匹配符號:
匹配單個字符: _ 0個
匹配任意多個字符:% 0個、一個、多個
查詢全部以字母"A"開頭的雇員
1
|
select * from emp where ename like 'A%' ; |
查詢第二個字母為"A"的雇員
1
|
select * from emp where ename like '_A%' ; |
查詢含有字母為"A"的雇員
1
|
select * from emp where ename like '%A%' ; |
查詢不含有字母為"A"的雇員
1
2
|
select * from emp where not ename like '%A%' ; select * from emp where ename not like '%A%' ; |
LIKE '%%' 表示查詢全部數據
1
|
select * from emp where empno like '%%' |
9.數據的排序
1
|
order by 字段 [ ASC | DESC ][,字段 [ ASC | DESC ]……]; |
order by子句必須在where子句之后,在所有sql語句最后
排序的時候可以指明多個排序字段
排序方式有兩種:默認(ASC)升序 、DESC(降序)
按照工資進行排序
1
|
select * from emp order by sal desc ; |
先按工資排序,再按照雇傭日期排序
1
|
select * from emp order by sal desc ,hiredate; |
希望本文所述對大家的Oracle程序設計有所幫助。