MS SQL基礎教程:資料庫中的串連查詢

來源:互聯網
上載者:User

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

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

10.3.1 等值與非等值串連查詢

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

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

10.3.2 非等值串連查詢

在等值查詢的串連條件中不使用等號,而使用其它比較子就構成了非等值串連查詢。可以使用的比較子有:> 、>、=、 <、 <=、 !=, 還可以使用BETWEEN…AND 之類的謂詞。

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

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入門基礎教程"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.