MS SQL入門基礎 資料庫中的連線查詢

2022-03-02 17:17:18 字數 1151 閱讀 5068

資料庫中的各個表中存放著不同的資料,使用者往往需要用多個表中的資料來組合、提煉出所需要的資訊。如果乙個查詢需要對多個表進行操作,就稱為連線查詢。連線查詢的結果集或結果表,稱為表之間的連線連線。查詢實際上是通過各個表之間共同列的關聯性來查詢資料的,它是關聯式資料庫查詢最主要的特徵。

連線查詢分為等值連線查詢、非等值連線查詢、自連線查詢、外部連線查詢和復合條件連線查詢。

10.3.1 等值與非等值連線查詢

表之間的連線是通過相等的字段值連線起來的查詢稱為等值連線查詢。可以用兩種方式來指定連線條件。下面例子中的兩個程式段執行結果相同。

注意:邊續查詢的連線條件中,各連線欄位的資料型別不必相同,但必須相容。

10.3.2 非等值連線查詢

在等值查詢的連線條件中不使用等號,而使用其它比較運算子就構成了非等值連線查詢。可以使用的比較運算子有:> 、>、=、

顯然,這個例子沒有實際應用價值,同時也說明非等值連線查詢往往需要同其它連線查詢結合使用,尤其是同等值連線查詢結合。其用法請參見後面介紹的復合條件連線查詢。

10.3.3 自連線查詢

連線不僅可以在表之間進行,也可以使乙個表同其自身進行連線,這種連線稱為自連

接(self join),相應的查詢稱為自連線查詢。

例10-21: 查詢在公司工作的工齡相同的員工。

use pangu

10.3.4 外部連線查詢

在前面所舉的例子中,連線的結果是從兩個或兩個以上的表的組合中挑選出符合連線條件的資料,如果資料無法滿足連線條件則將其丟棄。通常稱這種方法為內部連線(innerjoin)。在內部連線中,參與連線的表的地位是平等的。與內部連線相對的方式稱為外部連線(outer join)。在外部連線中,參與連線的表有主從之分,以主表的每行資料去匹配從表的資料列,符合連線條件的資料將直接返回到結果集中,對那些不符合連線條件的列,將被填上null 值後再返回到結果集中(對bit 型別的列,由於bit 資料型別不允許null 值,因此將會被填上0 值再返回到結果中)。

外部連線分為左外部連線(left outer join)和右外部連線(right outer join)兩種。以主表所在的方向區分外部連線,主表在左邊,則稱為左外部連線,主表在右邊,則稱為右外部連線。

10.3.5 復合條件連線查詢

在where 子句中使用多個連線條件的查詢,稱為復合條件連線查詢。

MS SQL入門基礎 資料庫中的鎖

11.5.1 鎖的概念 鎖 lock 是在多使用者環境下對資源訪問的一種限制。機制當對乙個資料來源加鎖後,此資料來源就有了一定的訪問限制。我們就稱對此資料來源進行了 鎖定 在sql server中,可以對以下的物件進行鎖定 資料行 row 資料頁中的單行資料 索引行 key 索引頁中的單行資料,即索...

MS SQL入門基礎 資料庫索引

使用者對資料庫最頻繁的操作是進行資料查詢。一般情況下,資料庫在進行查詢操作時需要對整個表進行資料搜尋。當表中的資料很多時,搜尋資料就需要很長的時間,這就造成了伺服器的資源浪費。為了提高檢索資料的能力,資料庫引入了索引機制。本章將介紹索引的概念及其建立與管理。8.1.1 索引的概念 索引是乙個單獨的 ...

MS SQL入門基礎 移動資料庫

在sql server 中可以使用拆分 detach 和附加 attach 的方法來移動資料庫。拆分資料庫是從伺服器中移去邏輯資料庫,但不會將作業系統中的資料庫檔案刪除。附加資料庫將會建立乙個新的資料庫,並複製儲存在已有的資料庫檔案和事務日誌檔案中的資料。使用系統儲存過程sp detach db 來...