日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Oracle入门(十三A)之Select

發(fā)布時(shí)間:2023/12/3 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle入门(十三A)之Select 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、數(shù)據(jù)查詢語(yǔ)句
(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)兩表連接查詢例子

?查詢商品信息,顯示類型名稱。

select gname,gtname,gprice,gstocks from t_goods,t_gtype where t_goods.gtid=t_gtype.gtid; (3)外連接
?查詢結(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ù)值

select pmid, sname, pdate, pdate, pamount , ’采購(gòu)’ from t_main_procure a, t_supplier b where a.sid=b.sid union select omid,uname, odate,oamount,ostate,’訂單’ from t_main_order a, t_user b where a.uiid=b.uiid;





總結(jié)

以上是生活随笔為你收集整理的Oracle入门(十三A)之Select的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。