四、簡單查詢 簡單查詢的主要特征就是將一張數據表之中的全部數據行進行顯示,而後可以利用 SELECT 子句來控制所需要的輸出列。 4.1、基礎語法 範例 :查詢 emp 表中的數據(全部數據查詢) 在取得全部數據後,可以發現某些列上會顯示 null 的信息,null 表示的是沒有內容,但 n ...
四、簡單查詢
簡單查詢的主要特征就是將一張數據表之中的全部數據行進行顯示,而後可以利用 SELECT 子句來控制所需要的輸出列。
4.1、基礎語法
範例:查詢 emp 表中的數據(全部數據查詢)
SELECT * FROM emp;
在取得全部數據後,可以發現某些列上會顯示 null 的信息,null 表示的是沒有內容,但 null != 0 , null 指的是暫時未知的內容。
- 簡單查詢語句語法:
SELECT [DISTINCT] * | 列名稱[AS][列別名],列名稱[AS][列別名],...
FROM 表名稱[表別名];
在整個簡單查詢之中,主要有兩個句子完成:
SELECT 子句:在這個子句裡面存在如下內容:
* : 表示查詢所有的數據列;
列名稱:表示要顯示的指定列,列也可以設置別名 ;
DISTINCT:表示去除重覆數據的顯示。
FROM 子句:定義要使用的數據表,就可以理解為數據來源。
範例: 查詢每個雇員的編號、姓名、基本工資 三個信息進行瀏覽。
SELECT empno, ename, sal
FORM emp;
關於執行順序問題,這兩個子句的執行順序:
第一步:執行 FROM 子句,表示確定數據來源
第二步:執行 SELECT 子句,確定要顯示的數據列
4.2、其他的查詢操作
範例 :現在要查詢公司中所有雇員的職位信息
SELECT job FROM emp; # 職位會有重覆
SELECT DISTINCT job FROM emp; # 去除重覆數據
雖然使用 DISTINCT 可以消除全部的重覆數據,但是只局限於所有列的內容全部相同的情況,如果在以上查詢中多增加一個 empno 欄位,
SELECT DISTINCT empno,job FROM emp;
會發現所有數據都顯示了,因為每個編號所對應的職位都是唯一的,不同的,所以 DISTINCT 只能用於全部內容相同時。
除了以上的基本查詢之外,簡單查詢之中的 SELECT 子句裡面也支持四則運算。
範例 :要求通過資料庫查詢出所以雇員的編號、雇員姓名和年基本工資、日基本工資,以作為年終獎金的發放標準
SELECT empno,ename,sal*12,sal/30
FROM emp;
年薪=月薪*12、 日薪=月薪/30
出現的結果有小數,對於小數部分的處理,留給後面的單行函數完成。
範例:現在公司每個雇員在年底可以領取 5000 的年終獎,要求查詢雇員編號、雇員姓名和增長後的年基本工資(不包括佣金)
SELECT empno,ename,sal*12+5000
FROM emp;
範例:公司每個月為雇員增加 200 元的補助金,此時查詢每個雇員的雇員編號、姓名、年基本工資
SELECT empno,ename,(sal+200)*12+5000
FROM emp;
出現結果的表中 (sal+200)*12+5000 意思不明確,可以起別名 年薪
SELECT empno,ename,(sal+200)*12+5000 年薪
FROM emp;
在進行別名設置時,也可以使用一個 AS 進行設置操作。
SELECT empno,ename,(sal+200)*12+5000 AS 年薪
FROM emp;
此處是否加上 AS 對於最終的結果沒有任何區別,但是必須提醒讀者的是,如果進行別名的設置,如果在程式之中肯定是沒用的,那麼顯示中用處也不大,而且要記住,不要使用中文,現在是剛接觸,可以使用中文,等將來學到程式時,是一定要迴避中文的!
範例:為查詢結果設置別名
SELECT empno AS 雇員編號,ename AS 雇員姓名,(sal+200)*12+5000 AS 年薪
FROM emp;
此時有個新問題,給出的年薪是什麼樣的年薪?所以希望可以輸出一個標識,下麵直接輸出一個人民幣標識。
SELECT empno AS 雇員編號,ename AS 雇員姓名,(sal+200)*12+5000 AS 年薪,'¥' AS 貨幣
FROM emp;
查詢結果中這個貨幣的標識實際上就是一個字元串常量,常量都使用直接輸出的方式定義。
範例:使用 "||" 進行連接顯示
在進行簡單查詢的時候,可以直接使用 “||” 進行字元串或者列數據的連接操作。
先觀察連接:
SELECT empno || ename FROM emp;
結果顯示,雇員編號和名字連在一起了。
SELECT '編號是:' || empno || ' 的雇員信息是:' || ename || '基本工資是:' || sal 雇員信息
FROM emp;
“雇員信息” 是設置的整個表的標題名稱。
說明:本學習資料是根據李興華的Oracle開發實戰經典整理