SQL代替Vlookup 精確查找(左連接 "Left Outer JOIN" 用法) 語法如下:
Select 表名 .字段1,表名 .字段2,表名 .字段3,表名 .字段4 FROM 查詢表 AS 別名1 Left Outer JOIN 被查詢表 AS 別名2 ON 別名1.字段名=別名2.字段名
看起來很複雜,用起來很簡單。
源數據:
問題如下
問題描述:需要按照查詢工作表的要求,來查詢數據表裡面的姓名,基本工資,部門等數據。具體結果如下圖
代碼運行的結果如下:
代碼如下:
核心SQL語句
Sql = "SELECT A.姓名,基本工資,部門 from[需查詢$] as a left outer join [數據表$] as b on b.姓名=a.姓名 "
注意事項:
For i = 0 To rst.Fields.Count - 1 .Cells(1, i + 1) = rst.Fields(i).Name '利用fields屬性獲取所有字段名,fields包含了當前記錄有關的所有字段,fields.count得到字段的數量 '由於Fields.Count下標為0,又從0開始遍歷,因此總數-1 Next
另外:Left Outer JOIN 在SQL FROM語句中OUTER是可選的。通常習慣性寫為: LEFT JOIN。
本例利用fields屬性獲取所有字段名,這句也基本是常用的語句。