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