成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server數據庫鏈接查詢的方式詳解

數據庫 SQL Server
本文我們主要介紹了SQL Server數據庫鏈接查詢的方式,包括內連接、外連接和交叉連接等的內容,希望能夠對您有所幫助。

SQL Server數據庫鏈接查詢的方式的相關知識是本文我們主要要介紹的內容,我們知道,通過連接運算符可以實現多個表查詢。連接是關系數據庫模型的主要特點,也是它區別于其它類型數據庫管理系統的一個標志。多表連接查詢是使用Sql的基本操作,但連接的方式卻有多種,熟練使用這些連接方式能夠簡化Sql語句,提高數據庫運行效率。

在關系數據庫管理系統中,表建立時各數據之間的關系不必確定,常把一個實體的所有信息存放在一個表中。當檢索數據時,通過連接操作查詢出存放在多個表中的不同實體的信息。連接操作給用戶帶來很大的靈活性,他們可以在任何時候增加新的數據類型。為不同實體創建新的表,然后通過連接進行查詢。 

連接可以在SELECT 語句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出連接時有助于將連接操作與WHERE子句中的搜索條件區分開來。所以,在Transact-SQL中推薦使用這種方法。 

基本語法與方法

SQL-92標準所定義的FROM子句的連接語法格式為:

  1. FROM join_table join_type join_table   
  2. [ON (join_condition)] 

 

其中join_table指出參與連接操作的表名,連接可以對同一個表操作,也可以對多表操作,對同一個表操作的連接又稱做自連接。

join_type 指出連接類型,可分為三種:內連接、外連接交叉連接。內連接(INNER JOIN)使用比較運算符進行表間某(些)列數據的比較操作,并列出這些表中與連接條件相匹配的數據行。根據所使用的比較方式不同。

1、內連接又分為等值連接、自然連接和不等連接三種.

2、外連接分為左外連接(LEFT OUTER JOIN或LEFT JOIN)、右外連接(RIGHT OUTER JOIN或RIGHT JOIN)和全外連接(FULL OUTER JOIN或FULL JOIN)三種。與內連接不同的是,外連接不只列出與連接條件相匹配的行,而是列出左表(左外連接時)、右表(右外連接時)或兩個表(全外連接時)中所有符合搜索條件的數據行。

3、交叉連接(CROSS JOIN)沒有WHERE 子句,它返回連接表中所有數據行的笛卡爾積,其結果集合中的數據行數等于***個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。

連接操作中的ON (join_condition) 子句指出連接條件,它由被連接表中的列和比較運算符、邏輯運算符等構成.

無論哪種連接都不能對text、ntext和image數據類型列進行直接連接,但可以對這三種列進行間接連接。例如:

 

  1. SELECT p1.pub_id,p2.pub_id,p1.pr_info   
  2.  
  3. FROM pub_info AS p1 INNER JOIN pub_info AS p2   
  4.  
  5. ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info) 

 

(一)內連接

內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被連接列的列值。內連接分三種:

1、等值連接:在連接條件中使用等于號(=)運算符比較被連接列的列值,其查詢結果中列出被連接表中的所有列,包括其中的重復列.

2、不等連接: 在連接條件使用除等于運算符以外的其它比較運算符比較被連接的列的列值。這些運算符包括>、>=、<=、<、!>、!<和<>。

3、自然連接:在連接條件中使用等于(=)運算符比較被連接列的列值,但它使用選擇列表指出查詢結果集合中所包括的列,并刪除連接表中的重復列.

例,下面使用等值連接列出authors和publishers表中位于同一城市的作者和出版社:

 

  1. SELECT *   
  2. FROM authors AS a INNER JOIN publishers AS p   
  3. ON a.city=p.city   
  4. SELECT a.*,p.pub_id,p.pub_name,p.country   
  5. FROM authors AS a INNER JOIN publishers AS p   
  6. ON a.city=p.city 

 

又如使用自然連接,在選擇列表中刪除authors 和publishers 表中重復列(city和state):

(二)外連接

內連接時,返回查詢結果集合中的僅是符合查詢條件( WHERE 搜索條件或 HAVING 條件)和連接條件的行。而采用外連接時,它返回到查詢結果集合中的不僅包含符合連接條件的行,而且還包括左表(左外連接時)、右表(右外連接時)或兩個邊接表(全外連接)中的所有數據行。

1、left join或left outer join(左外連接)

左外連接:(也叫左外連接,給出兩個表的配匹行,并且以左邊的表為準,如果左邊表有而右邊表沒有的行,則在右邊表的相應行選擇的列顯示為NULL,允許左邊的基準表對應右邊表多條滿足條件的記錄)左連接就是返回左邊的匹配行,不考慮右邊的表是否有相應的行

 

  1. select field1,field2 from table1 left join table2  
  2. on field1=field2(基準字段,可以多個)  
  3. where table1.field3=table2.field3 

 

2、right join或right outer join(右外連接)

右連接:(也叫右外連接,給出兩個表的配匹行,并且以右邊的表為準,如果右邊表有而左邊表沒有的行,則在右邊表的相應行選擇的列顯示為NULL,允許右邊的基準表對應左邊表多條滿足條件的記錄)

語法與做鏈接差不多!

(三)交叉連接 

交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數據行數等于***個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。

例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等于6*8=48行。

 

  1. SELECT type,pub_name   
  2. FROM titles CROSS JOIN publishers   
  3. ORDER BY type 

 

關于SQL Server數據庫鏈接查詢的方式的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. SQL Server數據庫沒有JOIN條件導致笛卡爾乘積
  2. SQL Server結合Mybatis調用存儲過程返回結果集
  3. SQL Server數據庫獲取TEXT字段的內容長度的方法
  4. SQL Server跨數據庫服務器查詢和跨表更新的詳細操作
  5. SQL Server 2008中使用FileStream存取大文件實例介紹
責任編輯:趙鵬 來源: 博客園
相關推薦

2021-05-17 06:57:34

SQLServer數據庫

2009-04-30 09:28:05

SynonymOpenquerySQL Server

2022-11-04 08:34:27

Oracle數據庫

2021-03-18 08:20:19

SQLServer數據庫SQL

2011-03-28 12:33:09

SQL Server數據庫鏈接

2011-03-29 09:40:31

SQL Server數據庫鏈接

2009-07-06 21:20:34

SQL Server數

2011-09-01 15:10:22

Qt數據庫SQL

2010-07-02 10:47:20

SQL Server

2011-04-02 11:02:54

SQL Server數文件恢復

2011-08-19 14:53:02

SQL ServerDataRelatio

2011-08-24 12:49:56

SQL Server托管代碼

2011-08-22 11:39:53

SQL Server數PIVOT

2010-03-16 10:12:40

SQL Server

2011-08-11 09:12:31

SQL Server nolock

2010-07-15 17:28:50

SQL Server

2011-04-02 14:24:25

SQL Server數網絡鏈接

2010-07-05 12:33:13

SQL Server

2011-08-25 13:41:50

SQL Server 變更跟蹤

2009-01-27 21:00:00

服務器數據庫SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久中文字幕电影 | 一级毛片免费看 | 久热免费 | 亚洲精品视| 国产精品久久久久久久久久久久久久 | 在线视频成人 | 欧美一区二区三区在线观看 | 欧美日韩综合 | 国产精品久久久久久久久久免费看 | 中文字幕二区三区 | 国产sm主人调教女m视频 | 欧美日韩一区二区三区在线观看 | 色女人天堂 | 伊人超碰在线 | 亚洲区中文字幕 | 欧美精品片 | 日韩免费av一区二区 | 国产清纯白嫩初高生在线播放视频 | 亭亭五月激情 | 亚洲午夜精品 | 精品一区av | 91中文在线观看 | 亚洲免费一区二区 | 81精品国产乱码久久久久久 | 欧美日韩精品一区二区天天拍 | 国产精品久久久久久久久久 | 日韩国产高清在线观看 | 韩日在线观看视频 | 欧美一区二区三区在线播放 | 99精品欧美一区二区三区综合在线 | 在线免费毛片 | 理论片午午伦夜理片影院 | 国产亚洲人成a在线v网站 | 亚洲色图婷婷 | 成人av免费 | 久久久久久高潮国产精品视 | 一级特黄视频 | 蜜臀网站 | 精品国产精品三级精品av网址 | 伊人精品久久久久77777 | 亚洲超碰在线观看 |