Oracle資料庫之四 簡單查詢

2022-06-02 04:54:08 字數 2743 閱讀 8195

​ 簡單查詢的主要特徵就是將一張資料表之中的全部資料行進行顯示,而後可以利用 select 子句來控制所需要的輸出列。

範例:查詢 emp 表中的資料(全部資料查詢)

select * from emp;
​ 在取得全部資料後,可以發現某些列上會顯示 null 的資訊,null 表示的是沒有內容,但 null != 0 , null 指的是暫時未知的內容。

select [distinct] * | 列名稱[as][列別名],列名稱[as][列別名],...

from 表名稱[表別名];

​ 在整個簡單查詢之中,主要有兩個句子完成:

​ select 子句:在這個子句裡面存在如下內容:

​ * : 表示查詢所有的資料列;

​ 列名稱:表示要顯示的指定列,列也可以設定別名 ;

​ distinct:表示去除重複資料的顯示。

範例: 查詢每個雇員的編號、姓名、基本工資 三個資訊進行瀏覽。

select empno, ename, sal

form emp;

關於執行順序問題,這兩個子句的執行順序:

第二步:執行 select 子句,確定要顯示的資料列

範例:現在要查詢公司中所有雇員的職位資訊

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資料庫查詢

取得該使用者下所有的表 select from user tables 取得表名為classinfo的注釋資訊 select from user tab comments where table name classinfo 取得該使用者下表名為classinfo表的結構 select from u...

Oracle資料庫 子查詢 巢狀查詢 簡單例子

例如 查詢工資比simth工資高的員工資訊 第一步 查詢smith的工資數 select salary from s emp where last name smith 結果 salary 940第二步 查詢工資比940高的員工資訊 select last name,salary from s em...

資料庫 簡單查詢

查詢單錶所有記錄,顯示所有字段值 select from 表名 查詢單錶所有記錄,顯示指定字段值 select 欄位1,欄位2,from 表名 條件查詢 select from 表名 where 條件1 or and 條件2.直接查詢 select 1 常量 select 1 2 計算器 呼叫函式 ...