Excel VBA+SQL 代替Vlookup精确查找-sql文件查看器

SQL代替Vlookup 精确查找(左连接 "Left Outer JOIN" 用法) 语法如下:

Select 表名 .字段1,表名 .字段2,表名 .字段3,表名 .字段4 FROM 查询表 AS 别名1 Left Outer JOIN 被查询表 AS 别名2 ON 别名1.字段名=别名2.字段名

看起来很复杂,用起来很简单。

源数据:

Excel VBA+SQL 代替Vlookup精确查找

问题如下

问题描述:需要按照查询工作表的要求,来查询数据表里面的姓名,基本工资,部门等数据。具体结果如下图

Excel VBA+SQL 代替Vlookup精确查找

代码运行的结果如下:

Excel VBA+SQL 代替Vlookup精确查找

代码如下:

Excel VBA+SQL 代替Vlookup精确查找

核心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属性获取所有字段名,这句也基本是常用的语句。

私信 SQL 可以获取SQL代码的Excel文件

私信 视频 可以获取54集VBA入门视频

私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件

推荐阅读