首页
/
每日頭條
/
職場
/
join數據庫查詢
join數據庫查詢
更新时间:2026-11-03 05:37:33

大家好,我們繼續講解VBA數據庫解決方案,今日講解第56講内容: 數據表查詢中,内連接Inner join的講解。從這講開始給大家實例講解在查詢中各種連接方式的應用。為什麼到現在才講解這塊内容呢?是的,很多的内容我在之前的文章中已經開始利用了,相信大家已經開始有所了解或許隻是概念的欠缺,同時,随着講解的深入大家發現SQL語句是操作數據庫的一個非常重要的工具,我的觀點一直是:搭積木思想。不要過多的糾纏于其中的算法,隻要會利用就可以。至于為什麼這麼寫,那是專業人員的事情。

好了,先給大家簡單的解釋一下什麼是内連接,内連接的查詢操作及其特點。

内連接也叫連接,是最早的一種連接。還可以被稱為普通連接或者自然連接,内連接是從結果表中删除與其他被連接表中沒有匹配行的所有行。返回與連接條件匹配的數據行,它使用比較運算符比較被連接列的列值。在每個表中找出符合條件的共有記錄。

實例情景,下面的兩個工作表,一個是"數據",一個是"數據1"。我要把其中有型号一樣的數據提取出來,但是型号,生産廠,數量來自"數據"工作表,而供應商的數據來自"數據2"的數據。

join數據庫查詢(join在工作表數據查找中的應用)1

下面看我給出的内連接的代碼,其實代碼并不難:

Sub mynzRecords_56() '第56講

Dim cnADO, rsADO As Object

Dim strPath, strSQL As String

Worksheets("56").Select

Cells.ClearContents

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.FullName

cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes;imex=1';data source=" & strPath

strSQL = "Select a.型号,a.生産廠,a.數量,b.供應商 From [數據$]as a,[數據2$] as b Where a.型号=b.型号"

'strSQL = "Select a.型号,a.生産廠,a.數量,b.供應商 From [數據$] as a INNER JOIN [數據2$] as b ON a.型号=b.型号"

rsADO.Open strSQL, cnADO, 1, 3

For i = 1 To rsADO.Fields.Count

Cells(1, i) = rsADO.Fields(i - 1).Name

Next

Range("a2").CopyFromRecordset rsADO

rsADO.Close

cnADO.Close

Set rsADO = Nothing

Set cnADO = Nothing

End Sub

代碼截圖:

join數據庫查詢(join在工作表數據查找中的應用)2

代碼講解:

1 cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes;imex=1';data source=" & strPath

此語句的代碼建立起ADO和Excel的連接,大家可以直接利用,隻要是連接07版本以上的EXCEL即可。

2 strSQL = "Select a.型号,a.生産廠,a.數量,b.供應商 From [數據$]as a,[數據2$] as b Where a.型号=b.型号"

此語句的代碼為一個典型的SQL内連接的語句,用的是WHERE的表達式,大家要注意我字段的寫法和定義a,b 兩個數據表的寫法。不可以有絲毫的錯誤。

3 'strSQL = "Select a.型号,a.生産廠,a.數量,b.供應商 From [數據$] as a INNER JOIN [數據2$] as b ON a.型号=b.型号"

此語句的代碼為一個典型的SQL内連接的語句的另一種寫法,用的是的INNER JOIN….on…的表達式,大家要注意這種寫法和定義a,b 兩個數據表的寫法。大體上和上面的寫法是一緻的,讀者可以根據自己的習慣利用。

下面看代碼的運行:

join數據庫查詢(join在工作表數據查找中的應用)3

大家要注意,上述型号為QQ01的供應商為RRR05是取自數據2的數據。

今日内容回向:

1 什麼是内連接?

2 内連接的兩種表法方式是什麼?

3 如果将select後的字段去掉換成*号會是什麼樣的結果?

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
江柏萱大決戰(江柏萱重生催淚下線)
江柏萱大決戰(江柏萱重生催淚下線)
     由優酷、阿裡巴巴影業等出品,楊冬執導,指紋編劇,張譯、趙子琪、張昊唯、趙今麥、江柏萱等人主演的刑偵懸疑劇《重生》正在熱播中。其中江柏萱飾演的督察處處長邱冬陽在本周告别觀衆,引得網友不舍,隔空喊話“留下來”。   網劇《重生》中,江柏萱飾演督察處處長邱冬陽一角,負責調查714案件的真相,而作為案件唯一的幸存者秦馳(張譯 飾)則成為了他調查的重點對象。...
2026-11-03
産品經理如何管理好團隊(從10大管理看産品經理的日常工作)
産品經理如何管理好團隊(從10大管理看産品經理的日常工作)
  項目經理和産品經理有一定的共性,一方面,項目的産物之一就是産品;另一方面,項目的管理體系與産品管理體系有一定的共通性和重合性。本文作者結合項目10大管理的思路,整理了産品的10大管理,一起來看一下吧。      産品經理這個職業有其特殊性,在學校,沒有專門的專業或課程教授你如何成為一名産品經理,雖然我們給産品經理劃分了初級、中級、高級,但是卻沒有相應的職...
2026-11-03
星際戰甲國服活動介紹(星際戰甲國服獲得版号)
星際戰甲國服活動介紹(星際戰甲國服獲得版号)
  昨日晚間時分,國家新聞出版署對“2020年進口網絡遊戲審批信息”進行了更新,客戶端遊戲《星際戰甲》确認過審獲得版号。      據新聞出版署官網信息顯示,《星際戰甲》國服由深圳市創夢天地科技有限公司出版并運營,創夢天地是一家大型獨立手遊發行平台,以發行海外精品手遊著稱,先後成功發行了《水果忍者》、《神廟逃亡》系列、《地鐵跑酷》、《紀念碑谷》、《夢幻花園》...
2026-11-03
60歲以上的超齡農民工該幹什麼(高齡農民工老黃的轉型之路)
60歲以上的超齡農民工該幹什麼(高齡農民工老黃的轉型之路)
  封面新聞記者 汪仁洪   “修剪的桑枝要賣錢……過了元宵節菌業公司要來收!”2023年1月30日(農曆正月初九),尚在過節走親戚的老黃,計劃着桑園開工的時間。   老黃叫黃久林,1968年生于四川廣安。老黃夫婦長期在雲南昆明建築工地打工,在打工群體中,老黃夫婦算“高齡”了。2022年2月,老黃夫婦主動尋求轉型,在交納5萬元保證金後,在廣安市武勝縣猛山鄉租...
2026-11-03
雲浮家校協作攜手迎開學(兩校合并一家親)
雲浮家校協作攜手迎開學(兩校合并一家親)
     紅網時刻新聞8月30日訊(通訊員 易小旭)8月30日上午,邵陽市十五中、十六中在一中老校區行政樓二樓教工會議室召開秋季開學工作會議。   會議指出,本次會議是兩校重啟合并的首個工作會議,具有裡程碑的意義。兩所學校的合并,既是政策的需要,也是學校謀求長遠發展的重大舉措,有利于優化教育資源配置,進一步推動邵陽教育發展。希望全體教工充分理解,凝心聚力,以...
2026-11-03
Copyright 2023-2026 - www.tftnews.com All Rights Reserved