Oracle入门(十三A)之Select
生活随笔
收集整理的這篇文章主要介紹了
Oracle入门(十三A)之Select
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、數據查詢語句
(1)select語句完整的句法
select 目標表的列名或列表達式序列
from 基本表名和(或)視圖序列
[ where 行條件表達式 ]
[ group by 列名序列
?[ having 組條件表達式 ] ]
– 列出所有要查詢的表
– 表格關系在Where中指出,n個表有n-1個等值關系式
?查詢結果包含不符合連接條件的元組
左外連接:
select pmid,pdate,sname,pstate from t_main_procure
a,t_supplier b where a.sid=b.sid(+);
(1)select語句完整的句法
select 目標表的列名或列表達式序列
from 基本表名和(或)視圖序列
[ where 行條件表達式 ]
[ group by 列名序列
?[ having 組條件表達式 ] ]
[ order by 列名[ asc|desc ],… ]
(2)SQL語句的書寫方式- SQL 語句不區分大小寫
- 關鍵字不能簡寫或分行
- 子句通常分行書寫
- SELECT,FROM必須有
(3)DUAL 表
select sysdate from dual;
DUAL 表具有一個稱為“X”的行,一個稱為“DUMMY”的列。
DUAL 表用于創建SELECT 語句并執行不與特定數據庫表直接相關的命令。
(4)列別名
- 可用來重命名列標題
- 有助于計算
- 緊跟在列名后面
- 列名和別名之間可以具有可選的關鍵字AS
- 如果別名包含空格、特殊字符或者區分大小寫,則需要將別名放在雙引號中
(5)NULL
在SQL 中,NULL 是一個有趣的詞。要了解NULL,您必須先弄清楚NULL 是什么以及NULL 不是什么。
Null 指不可用、未分配、未知或不適用的值。
- Null 不同于零或空格。在SQL 中,零是一個數字,而空格是一個字符。
- 在條件語句中判斷是否為null? is null / is not null
(6)LIKE
- 百分比(%) 和下劃線(_) 這兩個符號稱為通配符
- 當需要完全匹配含有% 或_ 字符的字符串時,需要指出% 或_ 不是通配符,而是搜索項的一部分。ESCAPE 選項反斜杠(\) 用來表示_ 或% 是名稱的一部分,而不是通配符值。
(7)替代變量
- 有時,可能需要以多個不同的值運行同一查詢,以獲得不同的結果集。試想一下,如果您需要查一個一個的用戶的信息,每次都要編寫類似的語句,會不會很麻煩呢?
- &變量名
注意:僅用于SQL *Plus或者用于原理和SQL *Plus相同的開發工具
注:Oracle中的替換變量,&變量名,&&變量名
(8)單行函數
select to_char(sysdate,'yyyy"年"mm"月"dd"日"') from dual;注:Oracle之單行函數
二、多表格查詢
定義
將兩個或兩個以上的表格,按照一定的關系連接起來進行查詢。
多表格查詢分類
- 連接查詢
- 嵌套查詢
- 集合查詢
三、連接查詢
(1)等值連接查詢
SELECT table1.column, table2.column,...,tablen.column FROM table1, table2,..., tablen WHERE table1.column1 = table2.column2..and tablen-1.column1 = tablen.column2;– 指定列所屬的表格– 列出所有要查詢的表
– 表格關系在Where中指出,n個表有n-1個等值關系式
(2)兩表連接查詢例子
?查詢商品信息,顯示類型名稱。
?查詢結果包含不符合連接條件的元組
左外連接:
select pmid,pdate,sname,pstate from t_main_procure
a,t_supplier b where a.sid=b.sid(+);
四、嵌套查詢
?定義:將一個查詢語句嵌套在另一個查詢語句的Where或Having中的查詢語法:
select select_list
from table
where expr operator
(select select_list
?from table);
查詢本月有進貨記錄的供應商信息
select sid, sname? from t_supplier where sid in (select sid from t_main_procure where? to_char(pdate,'yyyymm')=to_char(sysdate,'yyyymm'));五、集合查詢
定義:多個SELECT語句的結果進行
集合操作
分類
- 并操作 UNION
- 交操作 INTERSECT
- 差操作 MINUS
(1)并操作 UNION
得到前后兩個查詢結果的和
UNION-查詢結果不包括重復值
總結
以上是生活随笔為你收集整理的Oracle入门(十三A)之Select的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 极兔速递预计 10 月 27 日在港交所
- 下一篇: 酷比魔方小酷平板系列将至,号称“从内到外