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