SQL语句在数据库使用中十分重要。
在EXCEL中可以不打开工作簿,就获取数据,对多工作簿操作很用,也很快。
对大量数据处理,比循环快很多,但是比词典方法还有点距离(可惜我还没有学会词典)。
对数据库编程,任何编程语言都要,都支持SQL语言。

借助VBA, 我们也可在EXCEL中使用它,也就是将EXCEL作为数据库
(EXCEL中对SQL功能稍有限制,如:删除数据等,但不影响我对它的推崇)
在斑竹的帮助下,对SQL在EXCEL有了一点点体会,拿出来和大家分享。
斑竹的SQL帮助文件:http://club.excelhome.net/thread-65664-1-1.html
标准的EXCEL中SQL使用见附件的各个模块,ALT+F11就能看到了{:soso_e120:}
2012-04-24  最新更新  :标准语句、实例语句和解释互动, 结果直接显示,可自己修改语句。
EXCEL2003版本: <ignore_js_op>EXCEL中的SQL学习总结-for 2003-20120424.rar (30.28 KB, 下载次数: 4765)

2012-4-24 19:06 上传

点击文件名下载附件

EXCEL2007版本: <ignore_js_op>EXCEL中的SQL学习总结-for 2007-20120424.rar (41.11 KB, 下载次数: 7480)

2012-4-24 19:06 上传

点击文件名下载附件

'在Excel中使用SQL语句总结-1:'************************************        标准SQL查找代码:       *********************************************************
Sub SQL_Excel_2003_2007()'On Error Resume Next       '如果出现错误,忽略,然后执行下一行代码。
Application.ScreenUpdating = False '关闭屏幕刷新,成对出现,提高速度
Application.DisplayAlerts = False '关闭提示,,成对出现,避免出现提示框'---------------------------------------   参数声明部分  ------------------- ------------------- -------------------Dim cnn, SQL$   '定义数据库连接和SQL语句Set cnn = CreateObject("adodb.connection")  '创建数据库连接Set rs = CreateObject("adodb.recordset")   '创建一个数据集保存数据'---------------------------------------   设置数据库连接  ------------------- ------------------- -------------------cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName'将EXCEL文件作为数据库连接,实际并不打开EXCEL,'Excel2003版本:cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.Path & "\数据表.xls"'Excel2007版本:cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.Path & "\数据表.xlsx"'带参数的连接字符串:cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;HDR=yes;IMEX=2';data source=" & ThisWorkbook.FullName'    HDR=Yes   代表 Excel 档中的工作表第一行是标题栏,标题只能是一行,不能使多行,或者合并的单元格。'    HDR=no     工作表第一行就是数据了,沒有标题栏,不使用栏位,则栏位就以f代表,第一列列名就是:f1,第二列列名:f2'    IMEX 汇入模式  0 只读  1 只写   2 可读写'              当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。'              当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。'              当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。'Data Source  存储查询数据来源的工作薄名称,数据库路径为:数据表.xls  或本表:& ThisWorkbook.FullName'---------------------------------------   设置SQL语句  ------------------- ------------------- -------------------SQL = "select * from  [数据表_1$A1:G100] where 姓名='马拉多纳'"'在Sheet1表内查找列名为:姓名 中所有:马拉多纳 的数据。'[XXX$A2:G100]的中括号和$为特别数据表标示符,XXX为Sheet名,A2:G100是选取的区域。'SQL语句是一个字符串,双引号开头和结尾,列名两边无单引号,表示一个字符串:‘马拉多纳’,要用单引号扩上,数字就不用了。'Nu=36:  AA="马拉多纳":   set  Sh=Sheet1:  SQL = "select * from  [" & Sh.name & “$] where 姓名=‘” & AA & “’  and  年龄=Nu"'---------------------------------------   SQL结果处理  ------------------- ------------------- -------------------Set rs = cnn.Execute(SQL) '将SQL语句获得的数据传递给数据集Sheets("结果").Cells.ClearContents       '清理保存数据的区域Sheets("结果").Range("a2").CopyFromRecordset rs    '将数据集粘贴到Excel中,左上角为A2,无列名。'Sheets("结果").Range("b2").CopyFromRecordset cnn.Execute(SQL)  '可以不声明Y,直接使用cnn.Close     '关闭数据库连接Set cnn = Nothing    '将CNN从内存中删除。
'--------------------------------------- ------------------------ ------------------- -------------------
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub   '这就是最简单的EXCEL中SQL的应用 ,其他的都是SQL的运用了

转载自:http://club.excelhome.net/thread-859194-1-1.html, 感谢opiona的分享。

转载于:https://www.cnblogs.com/zhouzhilong/p/6549359.html

在EXCEL中使用SQL语句查询相关推荐

  1. 在Excel中使用SQL语句查询和筛选

    本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...

  2. Excel 中使用SQL 语句查询数据(七)-----用LIKE 运算符进行模糊匹配查询

    这篇博文要和大家分享的是用LIKE 运算符进行模糊匹配查询下图数据源商品代号包含数字的数据. 我们用Microsoft query连接数据源,步骤请参考本系列第一篇博文.语句如下图 其中 LIKE ' ...

  3. vba搜索java里面的sql_在EXCEL中使用SQL语句查询集锦-持续更新中,敬请关注

    StrA = "" StrA = StrA & " SELECT YEAR(日期) AS 年份" StrA = StrA & ",工地 ...

  4. ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。

    ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...

  5. 在excel中执行Sql语句,实现复杂查询

    引子 Excel过滤与查找数据的功能很强,但如果是非常复杂的查询还是用SQL语句来得直接.但这需要有一些数据库的专业知识. 实事上excel支持对Sheet上的数据进行sql查询,这时Sheet名就是 ...

  6. MySQL中优化sql语句查询常用的30种方法

    为什么80%的码农都做不了架构师?>>>    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 whe ...

  7. 浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  8. 浅谈MySQL中优化sql语句查询常用的30种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  9. Mysql中使用sql语句查询前一个天、前一周、前一月时间的方法

    查询一天: select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW ...

最新文章

  1. 【转】【RDS教程】专业DBA速成 - CPU优化篇
  2. Linux socket 网络编程常用函数总结
  3. lisp 标记形心_标记-压缩算法
  4. 云服务器共享文件如何访问权限,怎么设置共享文件夹访问权限?
  5. MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
  6. oracle报错ora-00200,oracle 11gR2 rac 创建database报ORA-00200错误
  7. java第一句_Java如何开始第一个项目?
  8. java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用
  9. mybatis 报错: Invalid bound statement (not found)
  10. 微软BI SSIS 2012 辅助阅读博客
  11. Sqlite加密问题
  12. 用HTML代码实现个人简历的编写
  13. Web前端开发最常见的八种编程软件
  14. 服务器系统怎么刻录光盘,怎么刻录Win7系统盘?Win7系统盘刻录教程
  15. python pdfminer中文字体问题_在python中使用pdfminer处理连字
  16. 经典的java角色扮演,盘点2010年十大经典角色扮演类游戏合集
  17. 实用Ip、手机、身份证归属地查询API
  18. n719 rom 卡刷 android 4.3,三星n719卡刷刷机教程(刷第三方rom包)
  19. 前端项目搭建部署全流程(一):搭建React项目
  20. 安卓的进化,用户的阵痛?从奥利奥与奥利粤说起

热门文章

  1. 世界杯赛场上,大数据在奔跑
  2. STM32模数转换器(ADC)
  3. 设计界面的十二条简单的原则
  4. 虹科光电:了解Thz太赫兹技术——未来频段
  5. 带你一起拿下strlen和sizeof(C语言系列17)
  6. Python 工程师薪资再飙升,不止25K了!
  7. 数字签名理论与认证应用
  8. Arduino小车资料整理
  9. 新零售消费场景有哪些 未来新零售场景是怎么样的?
  10. python实验七 网络爬虫和文本处理