標籤:oracle
使用scott使用者下emp表進行測試
0、環境設定
--以下代碼是對emp表進行顯示做設定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;set pagesize 20;col tname for a20;
1、查詢
查詢emp表的所有內容,*號表示萬用字元,表示該表中的所有欄位,但*號不能和具體欄位一起使用
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;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/86/ED/wKioL1fO-HSh9jcoAAAmoPOQ40E691.png" title="004.PNG" alt="wKioL1fO-HSh9jcoAAAmoPOQ40E691.png" />
查詢員工的編號,姓名,入職時間,月薪,年薪,年度營收(年薪+獎金) 【NULL值判斷和使用】
select empno "編號",ename"姓名",hiredate "入職時間",sal "月薪",sal*12 "年薪",sal*12+comm "年度營收" from emp;
如果結果為null,在sqlplus用戶端工具中,是不顯示null這個值的
注意:null與具體數字運算時,結果為null。
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/86/ED/wKioL1fO-Q-zz7PSAABH16__B80197.png" title="005.PNG" alt="wKioL1fO-Q-zz7PSAABH16__B80197.png" />
解決null的問題,使用NVL()函數,NVL(a,b):如果a是NULL,用b替代;如果a是非NULL,就不用b替代,直接返回a的值。
select NVL(null,10) from emp;結果有14行記錄
select NVL(null,10) from dual;結果有1行記錄
select empno "編號",ename"姓名",hiredate "入職時間",sal "月薪",sal*12 "年薪",sal*12+NVL(comm,0) "年度營收" from emp;
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/86/ED/wKioL1fO-k7xLsK_AABBMOJlMRI902.png" title="006.PNG" alt="wKioL1fO-k7xLsK_AABBMOJlMRI902.png" />
使用列別名,查詢員工的編號,姓名,月薪,年薪,年度營收(年薪+獎金),AS大小寫都可,且可以省略AS,別名用雙引號 【別名和引號】
select empno AS "編號",ename as "姓名",sal "月薪" from emp;
或
select empno AS 編號,ename as 姓名,sal 月薪 from emp;
區別
select empno AS "編號",ename as 姓名,sal "月 薪" from emp;
不加雙引號的別名不能有空格;加了雙引號的別名可以有空格
要加只能加雙引號,不能加單引號,因為在oracle中單引號表示字串類型或者是日期類型
列名不能使用單引號,因為oracle認為單引號是字串型或日期型
【dual啞表、字串串連符號||】
使用dual啞表或者偽表,使用字串串連符號||,輸出"hello world",在oracle中from是必須寫的
select ‘hello‘ || ‘ world‘ "結果" from dual;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/86/EE/wKiom1fO_B3CvKksAAAHXJ7HxJk361.png" title="007.PNG" alt="wKiom1fO_B3CvKksAAAHXJ7HxJk361.png" />
使用字串串連符號||,顯示如下格式資訊:****的薪水是****美元
select ename || ‘的薪水是‘ || sal || ‘美元‘ from emp;
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/86/ED/wKioL1fO_U-i3n2nAAAxuoDq0yE675.png" title="009.PNG" alt="wKioL1fO_U-i3n2nAAAxuoDq0yE675.png" />
【系統時間sysdate】
使用sysdate,顯示系統目前時間,在預設情況下,oracle只顯示日期,而不顯示時間,格式:26-4月-15
select sysdate from dual;
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/86/EE/wKiom1fO_OHyBIYMAAAFhjueayI378.png" title="008.PNG" alt="wKiom1fO_OHyBIYMAAAFhjueayI378.png" />
SQL語句的特點 1)是SQL92/99的ANSI官方標準,只要按照該標準來寫,在任何的關係型資料庫中都可以直接執行 2)SQL語句的關健字不能簡寫,例如:select,where,from 3)大小寫不敏感,提倡大寫 4)能夠對錶資料進行增刪改查操作 5)必須以分號結束 6)通常稱做語句
SQLPLUS命令的特點 1)是oracle內建的一款工具,在該工具中執行的命令叫SQLPLUS命令 2)SQLPLUS工具的命令中的關健字可以簡寫,也可以不簡寫,例如:col ename for a10; 3)大小寫不敏感,提倡大寫 4)不能夠對錶資料進行增刪改查操作,只能完成顯示格式控制,例如:設定顯示列寬,清屏,記錄執行結果 5)可以不用分號結束,也可以用分號結束,個人提倡不管SQL或SQLPLUS,都以分號結束 6)通常稱做命令,是SQLPLUS工具中的命令 注意:SQLPLUS命令是SQLPLUS工具中特有的語句
|
單引號出現的地方如下: 1)字串型,例如:‘hello‘ || ‘ world‘ 2)日期型,例如‘25-4月-15‘
雙引號出現的地方如下: 1)列別名,例如:sal*12 "年 薪",或 sal*12 年薪,個人提倡用""雙引號作列別名
|
Oracle系列:(5)select子句