SQL關於聯合的基本概念和示例

2021-06-15 22:14:06 字數 856 閱讀 2111

聯合的型別分為inner join 內部聯合,outer join外部聯合,這兩種聯合的本質區別在於on子句,前者on子句的條件必須為,後者沒有此限制

inner join 分為

等值與不等值聯合

這種聯合的子句的條件指定乙個表中的某個字段必須等於另乙個表中的某個字段,這是一種最常用和最有意義的聯合

交叉聯合

這種聯合沒有on子句,聯合中列舉的所有表中的所有記錄行都被包含在結果集中,很顯然這就是兩張表的笛卡兒積,交叉聯合不是很有用

自聯合        當乙個表聯合到它自己,而不是其它表時,產生自聯合,自聯合的主要用途是尋找表中記錄的匹配對,自聯合與子查詢一起使用時比較有意義,在使用自聯合的時候一定要為這個表或列賦予乙個別名,自聯合通常非常複雜。

outer join 分為

左外部聯合

當聯合a,b兩表時,需要其中a表的記錄始終出現在最終結果中可選擇使用此聯合,那麼不論a表記錄中是否存在滿足on子句條件的記錄,a表的所有記錄都將顯示

右外部聯合

此與左外部聯合正好相反,使用左還是右沒有任何規定,完全看你的愛好了

完全外部聯合

這是前兩種聯合的特徵合,即聯合的所有表的記錄都顯示在最終結果中

以下示例為sql server 2005資料庫引擎關於聯合時所使用的查詢計畫,為sql優化作指導。

資料庫引擎主要使用巢狀迴圈,哈西匹配,合併這三種方式處理聯合查詢,根據資料量的不同,是否有聚簇索引等輔助條件,資料庫引擎自動評估開銷選擇,但依舊可以強制使用option引數指定。

SQL基本概念

結構化查詢語言 structured query language 簡稱sql,是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢 更新和管理關係資料庫系統。show databases 檢視所有的資料庫 use 庫名 開啟指定 的庫 show tables 顯示庫中的所有表...

Tensorflow基本概念理解示例

tensorflow 主要包括兩部分 構建圖模型和計算圖模型。圖模型的基本構成是節點,每個節點代表的是乙個操作 operation 或者理解成函式,每個節點都有輸入輸出,每個節點通過線條相連。例如常數節點 constant node 沒有輸入,輸出為常數 變數節點 variable node 可以更...

sql優化基本概念

我們知道,sql語句同其它語言 如c語言 的語句不一樣,它是非過程化 non procedural 的語句,即當你要取資料時,不需要告訴資料庫通過何種途徑去取資料,如到底是通過索引取資料,還是應該將表中的每行資料都取出來,然後再通過一一比較的方式取資料 即全表掃瞄 這是由資料庫的優化器決定的,這就是...