sql 一个字段在另外一个表没出现_如何在Excel中使用SQL语言?

af2539d1583635d5353ce2442fe26235.png 每天一篇Excel技术图文 微信公众号:Excel星球 NO.92-如何在Excel中使用SQL语言 作者:看见星光  微博:EXCELers / 知识星球:Excel 如何在Excel中使用SQL语言? 这个问题,系列文的第1章咱们就讲过了,然而后台总是收到类似的提问,所以今天就再集中说一次。 一般有三种方法▼ f28fda7aae4f57297d8bfd8ad7817b10.png 第一种是MS Query法,很少用,越来越少用,略。 dbed02f00da782aa41acd6f6d20adc49.png 第二种是OLE DB法。 在Excel的【数据】选项卡下单击【现有链接】命令,在弹出的【现有链接】对话框中,单击【浏览更多】,选取 目标文件 后,依次单击【确定】,得到下面的【导入数据】对话框。 9252360fcb8eba3ecf7ce9b5aea7428d.png 单击【属性】按钮,打开【连接属性】对话框,切换到【定义】选项卡,即可在【命令文本】编辑框中编写SQL语句,并【确定】执行。如下图所示。 c551bad949b358521ca303c745e76fb8.png 这种方法通常搭配数据透视表(图一的显示方式选择【数据透视表】),此时SQL获取的记录集会自动成为透视表的缓存数据源。 此外也可以搭配Power Pivot(高级版本Excel(2013及以上)勾选图一的【将此数据添加到数据模型】)。 对于没有VBA基础的朋友来说,通常推荐这种方法,只要会写SQL查询语句,就可以直接使用了。 下面是一个操作过程示例动画: ce4a81db846e2f37778d1a00790d215c.gif

1692d04eafd3ed3b20983ab951ebe5fa.png

咱们的系列文章【零基础学SQL in Excel教程合集】主要是使用的第3种方法,也就是VBA+ADO+SQL。 和第2种方法相比较,该法的优点在系列文里已经说过很多了,其实最重要的其实就两点,掰手指头,啊,我的手指头好白——想念故乡的雪。 1▼
借助VBA,SQL语句可以使用变量,更加灵活自由。 2▼
借助ADO,对数据,SQL除了查询以外,还可以增改删。 对于VBA代码连面都不熟的朋友而言,是不是就不能使用VBA执行SQL了呢? 并不是。 VBA执行SQL语句有一个固定的套路。 哪怕你连VBA代码一句都看不懂也没关系,只要知道如何复制运行VBA代码(如何运行VBA代码?其实很简单),以及知道在哪里写入SQL语句就可以了。 也就是下列代码 第11行处。 代码如看不全,可以左右拖动..▼
Sub ByADO_SQL()    Dim cnADO As Object    Dim rsADO As Object    Dim strSQL As String    Dim i As Long    Set cnADO = CreateObject("ADODB.Connection")    Set rsADO = CreateObject("ADODB.Recordset")    cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _        & "Extended Properties=Excel 12.0;" _        & "Data Source=" & ThisWorkbook.FullName    strSQL = "SELECT *  FROM [A$] " '//此处写入SQL代码    Set rsADO = cnADO.Execute(strSQL)    Cells.ClearContents    Range("A1").CopyFromRecordset rsADO    rsADO.Close    cnADO.Close    Set cnADO = Nothing    Set rsADO = NothingEnd Sub
小贴士▼ 在以上VBA代码中输入的SQL语句, 双引号应改为单引号 ,这是因为SQL语句作为字符串,外围已经存在一对双引号了。 当处理的文件跨工作薄时,SQL语句的书写和OLE DB法稍有不同,具体请参考:Excel VBA+ADO+SQL入门教程004:SQL中的Excel表 没了,晚安。 ▎系统学习Excel
推荐加入我的Excel社群 ▎ 点击图片可获取相关推文..▼ 7f8fe0a04bff5671189bf862b7d78e03.png 扩展阅读 93355742a79656cd36ddd888f375cd77.png 8f20215f982367a2e3e9b7a53d2ea9a8.png 2b06716a05aa2e4a1afe8c38cafd394b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值