Oracle中scott表結構與簡單查詢執行個體分析_oracle

來源:互聯網
上載者:User

本文執行個體講述了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.查詢不重複的職位

select distinct job from emp;

2.查詢年薪,起別名,別名不要用單引號括起來

select sal*12 [as] income from emp;

3.簡單查詢中可以使用"||"串連查詢的欄位

select empno ||','|| ename from emp;

sql語句中的字串用單引號表示
select '僱員編號是:'||empno||'姓名是:'||ename||'工資為:'||sal||'職位是:'||job||'!' 僱員資訊 from emp;

4.在oracle中資料時區分大小寫

select * from emp where job ='CLERK';

查詢不是辦事員的僱員資訊

select * from emp where job!='CLERK'; select * from emp where job<>'CLERK';select * from emp where NOT job='CLERK';

5.BETWEEN ……AND 大於等於 小於等於

select * from emp where sal between 1500 and 3000; 

也可以求反

select * from emp where sal not between 1500 and 3000;

也可以是日期

select * from emp where hiredate between '01-1月 -1981' and '31-12月 -81';

6. 判斷是否為空白IS(NOT)NULL

select * from emp where comm Is not null; select * from emp where not comm Is null;

7.IN操作符

select * from emp where empno in (7521,7844,5555);select * from emp where empno not in (7521,7844,5555);

關於NOT IN
如果現在使用了IN操作符,查詢範圍之中存在了null,不影響查詢

select * from emp where empno in (7521,7844,null);

如果現在使用的是NOT IN操作符,如果查詢範圍之中有了null,則不會有任何的結果返回

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"開頭的僱員

select * from emp where ename like 'A%';

查詢第二個字母為"A"的僱員

select * from emp where ename like '_A%'; 

查詢含有字母為"A"的僱員

select * from emp where ename like '%A%'; 

查詢不含有字母為"A"的僱員

select * from emp where not ename like '%A%'; select * from emp where ename not like '%A%';

LIKE '%%' 表示查詢全部資料

select * from emp where empno like '%%'

9.資料的排序

order by 欄位 [ASC|DESC][,欄位 [ASC|DESC]……];

order by子句必須在where子句之後,在所有sql語句最後
排序的時候可以指明多個排序欄位
排序方式有兩種:預設(ASC)升序 、DESC(降序)
按照工資進行排序

select * from emp order by sal desc;

先按工資排序,再按照僱傭日期排序

select * from emp order by sal desc,hiredate;

希望本文所述對大家的Oracle程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.