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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORACLE复杂查询之连接查询

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE复杂查询之连接查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、傳統的連接查詢

1、交叉連接:返回笛卡爾積

?

  WHERE中限定查詢條件,可以預先過濾掉掉不符合條件的記錄,返回的只是兩個表中剩余記錄(符合條件的記錄)的笛卡爾積

2、內連接:參與連接的表地位平等,不分主次。兩表均可能有丟棄。

(1)等值連接:表間記錄的連接是通過相等的字段值為條件建立起來的。

(2)非等值連接:與等值連接類似。如果表間記錄的連接條件使用除“=”以外的其它比較運算符(>,>=,<,<=,!>,!<,<>以及BETWEEN…AND等)比較被連接的字段值。注意“BETWEEN (較小值)AND (較大值)”對應閉區間,

3、外連接:參與連接的表分主次。主表不丟棄,從表可能有丟棄。

(1)左外連接:主表在左,從表一側(右側)使用“(+)”

(2)右外連接:同理。

4、自連接:同一個表上的連接查詢,令一個表與其自身連接。

注:SELECT子句中的字段別名可以中間使用AS,可以省略;但表名與表別名之間不允許使用AS。

二、SQL92連接語法

  在SQL92標準中,除支持前述傳統的連接語法之外,還定義了一組新的連接語法體系--在FROM子句中指定連接條件(之前是在WHERE子句中),二者功能幾乎完全相互覆蓋,只是語法格式有所不同、且SQL92中增加了一種全外連接。SQL92連接語法基本格式如下:

  注意:連接條件仍是由被連接表中的字段和比較運算符、邏輯運算符等構成的表達式,使用關鍵字ON或USING等。

  連接類型可分為交叉連接、內連接、外連接三種,并可再細分(下圖):

(1)交叉連接的關鍵字是CROSS JOIN,返回笛卡爾積。例:

(2)等值連接、非等值連接用關鍵字:[INNER] JOIN,并且用ON代替WHERE指定連接條件及其他查詢限定條件;

  等值連接可以使用USING子句指定用于等值連接的字段(參照字段)。

  自然連接的關鍵字是NATURAL [INNER] JOIN,基于兩個表中的全部同名字段建立等值連接。如果類型不一致會出錯。

  注意:USING和NATURAL不允許在參照字段(包括SELECT列表中出現的參照字段)上使用表名或表別名作為前綴。此外,ON子句的等值連接不會去除查詢結果集中的重復字段,但USING或NATURAL中則會自動去掉重復字段。例如:

(3)左外連接(右外連接同理):主表在左,關鍵字是LEFT [OUTER] JOINON代替WHERE指定連接條件;

  相當于前述傳統方式中的從表側加入“(+)”:

  全外連接:關鍵字是FULL [OUTER] JOINON代替WHERE指定連接條件。

?

轉載于:https://www.cnblogs.com/seven7seven/p/3662437.html

總結

以上是生活随笔為你收集整理的ORACLE复杂查询之连接查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。