程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> Access 2000教程:17.3 使用SQL語句聯接表

Access 2000教程:17.3 使用SQL語句聯接表

編輯:關於Access數據庫
在SQL中,很多威力都來自於將幾個表或查詢中的信息聯接起來,並將結果顯示為單個邏輯記錄集的能力。在這種聯接中包括INNER、LEFT、RIGHT這三種JOIN操作。
  首先我們來講講INNER JOIN 的用法:INNER JOIN 語句可以用來組合兩個表中的記錄,只要在公共字段之中有相符的值即可,在語法上,INNER JOIN 是這樣定義的。

INNER JOINd的定義方式

  舉個例子:我們現在要將“圖書資料表”和“出版社資料表”聯接起來,然後列出出版社所出的圖書。讓我們先看看這兩個表,

出版社資料表

圖書資料表

  然後在SQL設計視圖中輸入以下內容

輸入的內容

  現在我們執行這個SQL語句,

執行結果

  發現現在的查詢結果將所有出版社和圖書都列了出來。
  這個查詢好像也可以用下面的語句來實現。

另一種語句

  將兩個查詢都切換到數據表視圖後我們會發現兩個查詢的查詢結果雖然一樣,但在使用INNER JOIN操作的查詢中可以添加新的數據。就像在表中添加數據一樣。而沒有使用INNER JOIN 操作的查詢就不能添加新數據,相比之下使用INNER JOIN操作的查詢更像將兩個具有相關內容的表聯接在一起新生成的表。
  知道了它的用處,我們來看看LEFT JOIN 的結構:
FROM [表名1] LEFT JOIN [表名2]
ON [表名1.字段A] 〈關系運算符〉[表名2.字段B]

  其實LEFT JOIN 的功能就是將LEFT左邊的表名1中的所有記錄全部保留,而將右邊的表名2中的字段B與表名1.字段A相對應的記錄顯示出來。而RIGHT JOIN 和LEFT JOIN 相反。
  所以剛才的那個例子還可以寫成:

剛才那個例子程序的另一種寫法

  單擊工具欄上的“執行”按鈕,我們看到這時顯示的數據表和剛才顯示的用LEFT JOIN 的數據表一樣。現在看出來了吧,原來它們的功能是可以互換的。

  如果想將幾個表聯接起來,在JOIN操作中我們可以進行嵌套操作,有三個表:表1、表2、表3,現在將三個表聯接起來:
FROM (表1 INNER JOIN 表2 ON 表1.序號=表2.序號)
INNER JOIN 表3
ON 表1.序號=表3.序號

  這樣這三個表就聯接起來了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved