1. 程式人生 > 其它 >查詢資料SELECT

查詢資料SELECT

1.select檢索資料

語法說明:

SELECT:查詢動作關鍵字,也是必須關鍵字

[DISTINCTIALL]:描述列表欄位中的資料是否去除重複記錄

select_list:需要查詢的欄位列表,也可以說是佔位符。可以是一個欄位,也可以是多個欄位

FROM:必須關鍵字,表示資料的來源

[where_clause]:查詢的WHERE條件部分

[group_by_clause]:GROUP BY子句部分

[HAVING condition]:HAVING子句部分

[order_by_clause]:排序

schema:模式名稱

table|view:表示式

c_alias:別名

SELECT語句中允許利用表示式或函式對符合條件的資料進行處理

2.獲取指定欄位的資料

例項:檢索PRODUCTINFO部分欄位

SELECT productid,productname,productprice FROM productinfo;

使用查詢時,可以指定某個模式下的表或檢視的列,以上的查詢語句也可以使用下面形式的指令碼替代

SELECT scott.productinfo.productid,productinfo.productname,productinfo.productprice FROM scott.productinfo

語法說明:

scott:當前模式名稱

productinfo:當前模式下的表名稱

3.獲取所有欄位的資料

例項:查詢所有欄位資料,在SQL*Plus執行語句

SELECT * FROM productinfo

下面執行語句的效果和上面一致

SELECT productid,productname,productprice,quantity,category,desperation,origin FROM productinfo;

注意:雖然使用星號查詢資料比較方便,但這裡不建議使用,我們應該明確返回自己需要列的值,而不是把所有的資料全部返回

(1)查詢明確的列在執行效率上比使用萬用字元(*)要高

(2)只返回必要的列的資料可以減少網路消耗

(3)如果使用萬用字元(*)返回所有列的資料,黨在表中增加新的紫端時,有可能引起應用程式的異常

4.使用別名替代表中的欄位名

表中的欄位名稱通常是英文的,SELECT語句中列名允許我們指定別名

例項:查詢使用別名,要求為查詢出來的欄位都加上漢字的別名

SELECT productid 產品編號,productname AS 產品名稱,productprice AS 產品價格 FROM productinfo;

5.使用表示式操作查詢的欄位

可以針對某個列(欄位)使用表示式,這樣查詢出來的結果就是修改後的資料,但是資料庫裡的資料不會被修改

例項:查詢中使用表示式

SELECT productid,productname,productprice ||''||1.25||'='||productprice1.25 AS new_productprice FROM productinfo;

6.使用函式操作查詢的欄位

查詢過程中檢索的列允許使用函式對其操作,如果僅僅是查詢,那麼更多的是利用函式對資料進行型別轉換。

例項:查詢中使用函式操作欄位

SELECT productid 產品編號,subStr(productid,1,6)as 擷取後的編號,productname AS 產品名稱,productprice AS 產品價格FROM productinfo;

7.去除檢索資料中的重複記錄

當查詢資料時有可能遇到重複記錄,利用DISTINCT關鍵字可以去除重複的資料

1.檢視產品型別編碼資料

SELECT category 產品型別 FROMproductinfo;

2.去除重複的產品型別編碼資料

SELECT distinct(categrory) 產品型別 FROM productinfo;

DISTINCT後面如果是多個列名,把這些列名看做一個整體。來去除重複記錄