溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle系列:(5)select子句

發(fā)布時間:2020-08-02 05:24:50 來源:網(wǎng)絡(luò) 閱讀:469 作者:lsieun 欄目:關(guān)系型數(shù)據(jù)庫


使用scott用戶下emp表進行測試


0、環(huán)境設(shè)置

--以下代碼是對emp表進行顯示做設(shè)置

col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;   
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
col tname for a20;
set pagesize 80;


1、查詢


查詢emp表的所有內(nèi)容,*號表示通配符,表示該表中的所有字段,但*號不能和具體字段一起使用

select * from emp;

select empno,ename,sal,deptno from emp;


查詢emp表的員工編號,姓名,工資,部門號,列名,大小寫不敏感,但提倡大寫

select empno "編號",ename "姓名",sal "工資",deptNO "部門號" FROM Emp;


查詢emp表的不重復的工作【distinct

select distinct job from emp;


查詢員工的編號,姓名,月薪,年薪(月薪*12)

select empno,ename,sal,sal*12 "年薪" from emp;

Oracle系列:(5)select子句


查詢員工的編號,姓名,入職時間,月薪,年薪,年收入(年薪+獎金) 【NULL值判斷和使用

select empno "編號",ename"姓名",hiredate "入職時間",sal "月薪",sal*12 "年薪",sal*12+comm "年收入" from emp;

如果結(jié)果為null,在sqlplus客戶端工具中,是不顯示null這個值的

注意:null與具體數(shù)字運算時,結(jié)果為null。

Oracle系列:(5)select子句


解決null的問題,使用NVL()函數(shù),NVL(a,b):如果a是NULL,用b替代;如果a是非NULL,就不用b替代,直接返回a的值

select NVL(null,10) from emp;結(jié)果有14行記錄

select NVL(null,10) from dual;結(jié)果有1行記錄

select empno "編號",ename"姓名",hiredate "入職時間",sal "月薪",sal*12 "年薪",sal*12+NVL(comm,0) "年收入" from emp;

Oracle系列:(5)select子句


使用列別名,查詢員工的編號,姓名,月薪,年薪,年收入(年薪+獎金),AS大小寫都可,且可以省略AS,別名用雙引號 【別名和引號

select empno AS "編號",ename as "姓名",sal "月薪" from emp;

select empno AS 編號,ename as 姓名,sal 月薪 from emp;

區(qū)別

select empno AS "編號",ename as 姓名,sal "月    薪" from emp;

不加雙引號的別名不能有空格;加了雙引號的別名可以有空格

要加只能加雙引號,不能加單引號,因為在oracle中單引號表示字符串類型或者是日期類型

列名不能使用單引號,因為oracle認為單引號是字符串型或日期型


dual啞表、字符串連接符號||

使用dual啞表或者偽表,使用字符串連接符號||,輸出"hello world",在oracle中from是必須寫的

select 'hello' || ' world' "結(jié)果" from dual;

Oracle系列:(5)select子句


使用字符串連接符號||,顯示如下格式信息:****的薪水是****美元

select ename || '的薪水是' || sal || '美元' from emp;

Oracle系列:(5)select子句


系統(tǒng)時間sysdate

使用sysdate,顯示系統(tǒng)當前時間,在默認情況下,oracle只顯示日期,而不顯示時間,格式:26-4月-15

select sysdate from dual;

Oracle系列:(5)select子句





SQL語句的特點

1)是SQL92/99的ANSI官方標準,只要按照該標準來寫,在任何的關(guān)系型數(shù)據(jù)庫中都可以直接執(zhí)行

2)SQL語句的關(guān)健字不能簡寫,例如:select,where,from

3)大小寫不敏感,提倡大寫 

4)能夠?qū)Ρ頂?shù)據(jù)進行增刪改查操作

5)必須以分號結(jié)束

6)通常稱做語句


SQLPLUS命令的特點

1)是oracle自帶的一款工具,在該工具中執(zhí)行的命令叫SQLPLUS命令

2)SQLPLUS工具的命令中的關(guān)健字可以簡寫,也可以不簡寫,例如:col ename for a10;

3)大小寫不敏感,提倡大寫

4)不能夠?qū)Ρ頂?shù)據(jù)進行增刪改查操作,只能完成顯示格式控制,例如:設(shè)置顯示列寬,清屏,記錄執(zhí)行結(jié)果

5)可以不用分號結(jié)束,也可以用分號結(jié)束,個人提倡不管SQL或SQLPLUS,都以分號結(jié)束

6)通常稱做命令,是SQLPLUS工具中的命令

注意:SQLPLUS命令是SQLPLUS工具中特有的語句



單引號出現(xiàn)的地方如下:

1)字符串型,例如:'hello' || ' world'

2)日期型,例如'25-4月-15'


雙引號出現(xiàn)的地方如下:

1)列別名,例如:sal*12 "年 薪",或 sal*12 年薪,個人提倡用""雙引號作列別名







向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI