查詢資料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)查詢明確的列在執行效率上比使用萬用字元(*)要高
(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;