从零开始学习SQL(图文教程)
学习SQL一步一步开始,跟着本文的脚印带你走向SQL方向。
本分先分别介绍Microsoft Query 方法书写SQL语句,和VBA方法书写SQL语句。(注:VBA语句中只需修改其中的SQL语句即可,其他只需要复制粘贴即可)。
下面先上图:
进入VBA界面
2.插入模块
3.双击模块
4.在代码区码
写入VBA代码
代码如下:
- Sub Test4()
- Dim Conn As Object, Rst As Object
- Dim strConn As String, strSQL As String
- Dim i As Integer, PathStr As String
- Set Conn = CreateObject("ADODB.Connection")
- Set Rst = CreateObject("ADODB.Recordset")
- PathStr = ThisWorkbook.FullName '设置工作簿的完整路径和名称
- Select Case Application.Version * 1 '设置连接字符串,根据版本创建连接
- Case Is <= 11
- strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr
- Case Is >= 12
- strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""
- End Select
- '设置SQL查询语句
- strSQL = "请写入SQL语句"
- Conn.Open strConn '打开数据库链接
- Set Rst = Conn.Execute(strSQL) '执行查询,并将结果输出到记录集对象
- With Sheet3
- .Cells.Clear
- For i = 0 To Rst.Fields.Count - 1 '填写标题
- .Cells(1, i + 1) = Rst.Fields(i).Name
- Next i
- .Range("A2").CopyFromRecordset Rst
- .Cells.EntireColumn.AutoFit '自动调整列宽
- .Cells.EntireColumn.AutoFit '自动调整列宽
- End With
- Rst.Close '关闭数据库连接
- Conn.Close
- Set Conn = Nothing
- Set Rst = Nothing
- End Sub
复制代码
介绍Microsoft Query的方法
1.从数据---自其他来源--来自Microsoft Query
2.选择Excel类型
3.选择工作簿(文件)
4.选择工作表
5.选择需求数据的列
6.筛选条件,本例只接选下一步
7.排序方法,本教程也直接下一步
8.返回工作表或Microsoft Query编辑器。(本例选 Microsoft Query,以便以编写SQL语句)
9.编写SQL语句窗口。
通过Microsoft Query学习SQL 9.jpg (146.92 KB, 下载次数: 26)
下载附件 保存到相册
2013-10-9 13:29 上传
通过以上二种方法,能知道SQL书写到什么地方。
接下来,可以开始学习SQL语句语法。
格式: select[DISTINCT] [TOP<数值> [PERCENT] <列标题>[[as]]<别名列标题>]
from <表或查询1>[AS]<别名1>],<表或查询2>[AS]<别名2>],
[where<筛选条件>][order by<排序项>[asc ▏desc]]
说明: 1、<>表示必选项,"[]"表示可选项,"▏"表示多选一。
2、 DISTINCT:消除取重复的行
3、 TOP 数值:显示前几条记录
4、 TOP 数值 percent:显示前面分之多少条记录
5、 <列标题>[[as]]<别名列标题>:给标题列重新命一个新名称
6、 where<筛选条件>:条件语句
7、排序,如果要按两个或两个以上字段,那么字段与字段之间用豆号隔开,asc升序,为默认值,desc降序。
显示所有字段的记录(全部列的内容)
语句:
语句1:
- select * from [sheet1$]
复制代码
语句2:
- select 编号,姓名,性别,出生年月,职称,部门,基本工资,婚否,奖金 from [sheet1$]
复制代码
这二个语句具有同样的功能,出来的结果都是一样的。
语句1中的*号是代表全部列,语句 2中,是写上全部列字段的名称。
如果工作表没有列标题,用F1,F2,F3,F4.....这样代替
先看原表
使用SQL语句出来的结果:
Microsoft Query方法:
将结果返回工作表:
返回工作表后样式:
Microsoft Query方法返回工作表后修改SQL语句方法:
“数据”选项卡---属性---连接属性--定义---命令文本
补充说明vba启用宏方法:
1.调出开“发工具栏”
2.在自定义功能区,勾选“开发工具栏”
3.设置宏安全性
4.启用宏
5.进入VBA界面2
6.运行子过程,把光标放于代码中间任意行,按F5执行,或绿色小三角执行。
按F8是逐步执行,是学VBA中重要的调试技术。
本帖最后由 335081548 于 2013-10-9 20:52 编辑
使用SQL语句获取多列数据,及别名的使用
复制代码 在本例 中SELECT子句后列出查询的字段即可查询出结果,如输入以下的SQL语句:
复制代码 使用别名
复制代码 本例中SQL语句如下:
复制代码 2.工作表别名
复制代码 本例中SQL语句如下:
复制代码 所有字段列表
复制代码 就行了吗?还整这么复杂干什么?
复制代码 实际中SQL语句应该如下:
复制代码 这样的使用环境中,使用表名,就太大缩短SQL语句的字符和书写方便。 注意事项:
|
从零开始学习SQL(图文教程)相关推荐
- sql 多表多行模糊查询_从零开始学习SQL(五)多表查询
经过之前的学习,现在我们已经对查询有了一定的了解,但是我们目前的所有查询都只能找到在一张表中的数据,但如果我们需要寻找分布在多张表格中的数据时,这种之前的查询就做不到了,这时就需要引入一种新的查询方法 ...
- 小柏实战学习Liunx(图文教程二十一)
前言:一定要知道每一个命令是啥意思,并且要学会看报错信息,学会使用搜索引擎. 前情回顾:小柏实战学习Liunx(图文教程二十)_Shaun-sheng的博客-CSDN博客 本节课主题:Linux安装A ...
- 从零开始学习OpenWrt完美教程-转
Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于GPL许可证发布的,按照该许可证Cisco应该把WRT54G 的I ...
- 从零开始学习OpenWrt完美教程+学习笔记
原贴地址:zhidx.jiguo.com/p/186.html Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于G ...
- java tomcat 教程_从零开始学习 JavaWeb - 02Tomcat教程
Tomcat 下载 1.我们现在网上搜索一下 Apache Tomcat 2.选择需要下载安装的 Tomcat 版本,红框中的选择下载,这里我们选择 Tomcat 9, 因为 Tomcat 10 是 ...
- Android NDK开发入门学习笔记(图文教程,极其详尽)
以前也简单用过JNI,但是只是简单用一下,好多都不明白.最近在看源码部分,有涉及到JNI调用的,所以这次打算彻底把它搞定. 先普及一下JNI的调用关系:JAVA-------------------- ...
- 使用 SQL Server 2012 Analysis Services Tabular Mode 表格建模 图文教程
原文 http://www.cnblogs.com/biwork/archive/2013/05/22/3093896.html BI Work 使用 SQL Server 2012 Analysis ...
- 真正从零开始,TensorFlow详细安装入门图文教程!(linux)
读懂智能&未来 首页 专栏 专题 公开课 AI慕课学院 爱搞机 极客购 申请专栏作者 业界人工智能智能驾驶AI+Fintech未来医疗网络安全AR/VR机器人开发者智能硬件物联网GAIR 业界 ...
- TensorFlow 真正从零开始,TensorFlow详细安装入门图文教程
https://www.leiphone.com/news/201606/ORlQ7uK3TIW8xVGF.html 读懂智能&未来 首页 专栏 专题 公开课 AI慕课学院 爱搞机 极客购 申 ...
最新文章
- 技术选型之Docker容器引擎
- 医学教育网批量资源下载程序之——完成
- 如何开发自己的第1个可以上线的Java项目?
- BootStrap Table使用
- 新建linux组、用户命令
- 使用select一个表更新另一个表(批量更新)
- pytorch 实现Gradient Flipping 各种坑
- [Usaco2011][bzoj2442][洛谷2527]修剪草坪解题报告(dp,贪心,单调队列)
- JavaScript变量相关总结
- 深入理解Nginx及使用Nginx实现负载均衡
- 强大的Bigdecimal
- ShuffleNet 系列(1): ShuffleNet v1 理论讲解
- java导出excel加水印且加密(已实现)
- vue入门到启动_Vue入门:Vue项目创建及启动
- Centos7安装elasticsearch7.14.0遇到问题(无法远程访问;内存小;bootstrap checks failed)
- (十三:2020.08.28)CVPR 2015 追踪之论文纲要(译)
- 办公技巧——PPT添加页码
- layui显示分页,搜索后重置分页
- 去除字符串首尾空格(全角半角)
- [重装系统] windows 10 重装系统记录
热门文章
- java ssl server,Java SSL Server禁用弱椭圆曲线
- java中jquery怎么学,Jquery的基础学习
- OA系统选型:确定需求,“对症下药”
- HP DL380 G7 物理机安装debian10 提示缺少:bnx2/bnx2-mips-09-6.2.1b.fw
- Python数据分析学习路线个人总结
- Java简单学生信息管理系统
- openlayers6【七】地图控件controls详解
- 正确的三个交棒姿势将决定你是否能赢得创新这场接力赛
- literate program: Count Luck
- netstat -anp命令简单说明