sql簡介
結構化查詢語言(structured query language)簡稱sql,結構化查詢語言是一種資料庫查詢和程式語言,用於訪問資料以及查詢、更新和管理關係資料庫系統:同時也是資料庫指令碼檔案的副檔名。結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的訪問方法,也不需要使用者了解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫系統,可以實用相同的結構化查詢語言作為資料輸入與管理的介面。結構化查詢語言可以巢狀,這使得它具有極大的靈活性和強大的功能。
select語句的語法格式
select*|
from
table
;
當前使用者下的表:
查詢表結構
查詢所有員工資訊
通過列名查詢sql優化:使用列名查詢效率高於使用 * 查詢。
別名的用法別名的用法共有三種:
as 「***」
「***」
***
三種寫法的區別:
其中第1種和第2種完全相同。
第3種寫法無法包含空格、無法為純數字
select empno as
"員工號"
,ename "雇員名"
,job 工作
消除重複資料注意:distinct關鍵字作用於後面所有的列,即只要列組合起來唯一即可。
查詢中的四則運算查詢雇員的月薪和年薪
select ename,sal,sal*
12 年薪 from emp;
空值問題什麼空值:
空值是無效的,未指定的,未知的或不可預知的值。
空值不是空格或者0.
查詢雇員的姓名、月薪、獎金、年薪和年收入(年薪+獎金)
select ename,sal,comm,sal*
12 年薪,sal*
12+comm 年收入
由上圖可知,查詢結果顯然是不對的。因為不可能出現年收入為空值的情況。
進一步觀察可以發現,年收入為空值的獎金也是空值。
sql中的null:
4. 包含n
ull的
表示式都
為空\color
包含null
的表示式
都為空5. nul
l永遠!
=nul
l\color
null永遠
!=nu
ll解決方法:濾空函式 nvl 和nvl2
sql修改為:
select ename,sal,comm,sal*
12 年薪,sal*
12+nvl(comm,
0) 年收入
查詢空值查詢獎金為null的雇員資訊
連線符 ||連線符:
字串:查詢員工資訊:*** 的薪水是 ***
select ename||
'的薪水是'
||sal 資訊 from emp;
Oracle基本查詢
在oracle中,表是由列和行組成,而在oracle資料庫中,最常用的操作就是查詢。要查詢資料庫表的資料,我們要用到下面的sql語句 select form su cename 假設我要查詢的表名是employees,要查詢employees表的所有行,我就可以用下面這個sql語句 select f...
Oracle連線查詢詳解
連線查詢指基於兩個或兩個以上表或檢視的查詢,在實際應用中,可能僅僅查詢單個表無法 滿足實際的需求,例如顯示sales部門位置以及雇員名,這種情況就需要進行連線查詢 dept和emp表 當使用連線查詢時,必須在from後指定兩個或兩個以上的表。當使用連線查詢時,應該在列名前加表名作字首,如果不同表之間...
oracle子查詢詳解
當乙個查詢結果是另乙個查詢的條件的時候,那麼就稱為子查詢,子查詢是在sql語句內的另外一條select語句。在select insert update或delete命令中只要是表示式的地方都可以包含子查詢,子查詢甚至可以包含在另外乙個子查詢中,以便完成更為複雜的查詢。下面通過乙個例項來了解一下子查詢...