EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm)
- 格式:doc
- 大小:311.00 KB
- 文档页数:28
Excel中使用SQL查询语句,让你的数据分析如虎添翼作者:Excel高手。
在我们进行数据处理的过程中,我们常常会调用一些外部数据,此时使用SQL查询语句是非常方便的,今天我们就来给大家详细讲解一下SQL查询语句中用得最多的SELECT语句的一些基本用法。
1.SELECT 语法SELECT [ALL|DISTINCT|DISTINCTROW|TOP]{|talbe.|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]} FROM table_source[ WHERE search_condition ][ GROUP BY group_by_expression ][ HAVING search_condition ][ ORDER BY order_expression [ ASC | DESC ] ][LIMIT [offset,] rows | rows OFFSET offset]DISTINCT 去除重复值DISTINCTROW忽略基于整个重复记录的数据,而不仅仅是重复字段。
执行步骤:1.先从from字句一个表或多个表创建工作表2.将where条件应用于1)的工作表,保留满足条件的行3.GroupBy 将2)的结果分成多个组4.Having 将条件应用于3)组合的条件过滤,只保留符合要求的组。
5.Order By对结果进行排序。
6. LIMIT限制查询的条数2.FROM子句FROM子句是SELECT语句中必须要有的一部分,它指定了查询所需要的数据源的名称。
语法:FROM table_source。
参数解释:table_source可以是表、视图等等,一个语句中最多可以使用256个表源。
如果使用的表过多,查询性能是会受到影响的,所以不建议使用太多表源。
请看下面的示例:Select distinct 供货商信息.单位名称,供货商信息.地址from 供货商信息3.WHERE子句在查询数据的时候,我们常常是希望查询出满足一定条件的数据,而非数据表中的所有数据,这个时候我们就可以使用WHERE子句来实现。
excel连数sql语句
在Excel中使用SQL语句可以帮助你对数据进行更复杂的分析和处理。
要在Excel中使用SQL语句,你需要使用Excel的数据功能和Microsoft Query来实现。
以下是一个简单的示例来说明如何在Excel中使用SQL语句:
首先,确保你的数据已经准备好,然后按照以下步骤操作:
1. 打开Excel并导入你的数据表格。
2. 在Excel菜单中选择“数据”选项卡,然后点击“来自其他来源”>“从SQL Server”(或者选择适合你的数据库类型)。
3. 输入数据库服务器的名称和登录信息,然后选择你要查询的数据库。
4. 在“查询向导”中,选择“使用 SQL 向导”。
5. 在“SQL 向导”中,输入你的 SQL 查询语句。
例如,如果你想要从表格中选择所有的数据,你可以输入,SELECT FROM [表
格名]。
6. 点击“完成”并选择将数据放在新的工作表中或者现有的位置。
通过以上步骤,你就可以在Excel中使用SQL语句来查询和分
析数据了。
需要注意的是,SQL语句在Excel中的使用有一些限制,不支持所有的SQL功能,但是可以满足大部分基本的查询需求。
另外,你也可以在Excel中使用宏来执行SQL查询,这样可以
更灵活地控制数据的处理和分析过程。
通过编写VBA宏代码,你可
以实现更复杂的数据处理和分析功能。
总之,通过在Excel中使用SQL语句,你可以更灵活地处理和
分析数据,实现更复杂的查询和计算功能。
希望这些信息能够帮助
你更好地使用Excel进行数据处理和分析。
DAVERAGE返回列表或数据库中满足指定条件的列中数值的平均值。
语法DAVERAGE(database,field,criteria)Database 构成列表或数据库的单元格区域。
数据库是包含一组相关数据的列表,其中包含相关信息的行为记录,而包含数据的列为字段。
列表的第一行包含着每一列的标志项。
Field 指定函数所使用的数据列。
列表中的数据列必须在第一行具有标志项。
Field 可以是文本,即两端带引号的标志项,如“使用年数”或“产量”;此外,Field 也可以是代表列表中数据列位置的数字:1 表示第一列,2 表示第二列,等等。
Criteria 为一组包含给定条件的单元格区域。
可以为参数 criteria 指定任意区域,只要它至少包含一个列标志和列标志下方用于设定条件的单元格。
示例1 2 3 4 5 6 7 8 9 10A B C D E F树种高度使用年数产量利润高度苹果树>10 <16 梨树树种高度使用年数产量利润苹果树18 20 14 105.00梨树12 12 10 96.00樱桃树13 14 9 105.00苹果树14 15 10 75.00梨树9 8 8 76.80苹果树8 9 6 45.00 公式说明(结果)=DCOUNT(A4:E10,"使用年数",A1:F2) 此函数查找高度在 10 到 16 英尺之间的苹果树的记录,并且计算这些记录中“使用年数”字段包含数字的单元格数目。
(1)=DCOUNTA(A4:E10,"利润",A1:F2) 此函数查找高度为 10 到 16 英尺之间的苹果树记录,并计算这些记录中“利润”字段为非空的单元格数目。
(1)=DMAX(A4:E10,"利润",A1:A3) 此函数查找苹果树和梨树的最大利润。
(105)=DMIN(A4:E10,"利润",A1:B2) 此函数查找高度在 10 英尺以上的苹果树的最小利润。
excel中使用sql语句在 Excel 中,您可以使用 SQL 语句来查询和分析数据。
Excel 支持使用 SQL 语句对数据进行筛选、排序和聚合操作。
下面是一些常用的 SQL 语句在 Excel 中的应用示例:1. 查询表格中的数据:```.SELECT * FROM [Sheet1$]```.这个语句会查询名为 "Sheet1" 的工作表中的全部数据。
2. 条件筛选:```.SELECT * FROM [Sheet1$] WHERE 列名 = 值。
```.这个语句会查询满足条件的行,其中 "列名" 是要筛选的列名,"值" 是要匹配的值。
3. 排序:```.SELECT * FROM [Sheet1$] ORDER BY 列名 ASC/DESC.```.这个语句会按照指定列的升序(ASC)或降序(DESC)对数据进行排序。
4. 聚合操作:```.SELECT 列名, 聚合函数(列名) FROM [Sheet1$] GROUP BY 列名。
```.这个语句会对指定列进行分组,并应用聚合函数(如SUM、COUNT、AVG、MAX、MIN 等)进行统计计算。
请注意,上述示例中的 "[Sheet1$]" 是指查询的目标工作表名,您可以根据需要修改为您实际的工作表名。
要在 Excel 中使用 SQL 语句,您需要打开 Excel 内建的 "数据" 标签,然后选择 "从其他数据源" 或 "从文本",根据您的数据来源选择合适的选项,进入查询编辑器。
在编辑器中,您可以输入上述 SQL 语句并执行查询,然后将结果显示在 Excel 中,或将查询结果导入到新的工作表或数据透视表中。
希望以上信息对您有帮助!如果您有进一步的问题,请随时提问。
Excel 2003函数速查一览一、数据库函数(·DAVERAGE·DCOUNT·DCOUNTA·DPRODUCT·DSTDEV·DSTDEVP·GETPIVOTDATA二、日期与时间函数·DATE ·DATEVaLUE·DAY·HOUR·MINUTE·MONTH·TIME·TIMEVaLUE·TODAY·YEAR·YEARFRAC三、外部函数(·EUROCONVERT·SQL.REQUEST四、工程函数(·BESSELI·BESSELJ·BESSELK·BIN2OCT·COMPLEX·CONVERT·DELTA·ERF·ERFC七、逻辑运算符·AND·FALSE·IF八、查找和引用函数17条)·ADDRESS·AREAS·CHOOSE ·HYPERLINK·INDEX·INDIRECT·ROW·ROWS·RTD九、数学和三角函数60条)·ABS·ACOS·ACOSH·ATAN2·ATANH·CEILING·COUNTIF·DEGREES·EVEN·FLOOR·GCD·INT·LOG10·MDETERM·MINVERSE ·MULTINOMIAL·ODD·PI·RADIANS·RAND·RANDBETWEEN ·ROUNDUP·SERIESSUM·SIGN·SQRTPI·SUBTOTAL·SUM·SUMX2MY2·SUMX2PY2·SUMXMY2十、统计函数(80条)·AVEDEV·AVERAGE·AVERAGEA·CHIDIST·CHIINV·CHITEST ·COUNTA·COUNTBLANK·COUNTIF ·EXPONDIST·FDIST·FINV ·FREQUENCY·FTEST·GAMMADIST ·GROWTH·HARMEAN·HYPGEOMDIST·LINEST·LOGEST·LOGINV·MEDIAN·MIN·MINA ·NORMSINV·NORMSDIST·NORMSINV ·PERMUT·POISSON·PROB·SKEW·SLOPE·SMALL·STDEVP·STDEVPA·STEYX ·TRIMMEAN·TTEST·VAR ·WEIBULL·ZTEST十一、文本和数据函28条)3函数速查一览函数(13条)·DGET·DMAX·DMIN·DSUM·DVAR·DVARP间函数(20条)·DAYS360·EDATE·EOMONTH ·NETWORKDAYS·NOW·SECOND ·WEEKDAY·WEEKNUM·WORKDAY函数(2条)函数(39条)·BESSELY·BIN2DEC·BIN2HEX·DEC2BIN·DEC2HEX·DEC2OCT·GESTEP·HEX2BIN·HEX2DEC。
SQL查询语句引用各种数据表有以下几种方法:
1、通过名称引用。
如果定义一个数据区域为Industry,那么select *from industry,这种方法最多支持65535行数据,当数据行数过多时,Excel会提示找不到该数据表。
同一张工作表里可以有多个数据表,通过定义不同的名称去引用。
2、通过工作表名引用。
比如一个工作表名为Quotes,那么select *from `Quotes$`,这里工作表名后面的$号表示这是一个工作表。
工作表可以包含高达100万行数据。
但同一个工作表内只能有一个数据表。
3、可以通过数据表的地址进行引用。
比如select * from `Quotes$A1:B10000`。
引号可以用中括号代替,select * from [Quotes$A1:B10000]。
4、如果数据表不在目前工作的文件内,需要在数据表名前添加数据文件的路径和文件名,比如select * from `D:test.xlsx`.`Quotes$`
当工作表的列数不同时的处理:
select 部门名称,科目,一季度,二季度, 0 as 三季度from [A$] union all select 部门名称,科目,0 as 一季度, 0 as 二季度, 三季度from [B$] union all select 部门名称,科目,一季度,二季度, 三季度from [C$]
以上案例使用0代替缺少的列字段
A工作表B工作表C工作表。
Excel处理SQL数据库教程我们可以用Excel来处理SQl数据库,这样可以加快开发步伐。
Excel 有很强的显示效果,打印控制也比较简单,是计算机上必备的软件。
我们通过下面的步骤,一步步的学习如何通过Excel来控制和开发简单的程序。
作为一个入门的教程,力求从最简单的步骤开始。
学习本教程要求已经具备了比较初步的vba编程经验。
步骤一:打开Excel后,进入microsoft visual basic 编辑器(ALT+F11)步骤二:引用ADO。
方法是在vb编辑器中点击菜单栏中的“工具”菜单——“引用”,找到这项,勾选上。
我们对于数据库的操作基本最基本的操作就是“增加”,“删除”,“查询”等操作。
以下我们通过实例来说明。
1、如何向数据库增加记录以下代码中红色底纹部分文字是你需要修改的,比如这里的jszxfwq 就是sql服务器名,database就是要进行处理的数据库名,本例是hszx;uid是登陆的用户名,这里是sa,pwd是登陆的密码,这里是空。
例子引用的表a只有两个字段,分别是a(文本类型),b(整数类型)Sub 增加记录()'首先是建立连接Dim cn As New ADODB.ConnectionDim strCn As String, sqlins As String ‘Dim rs As New ADODB.RecordsetstrCn = "Provider=sqloledb;Server=jszxfwq;Database=hszx;Uid=sa;Pwd=;"cn.Open strCn‘通过以上步骤就建立了一个连接,有了这个连接,表示你机器上的excel就连接上了sql所在的服务器,可以对hszx数据库进行操作了。
sqlins=”insert into a(a,b) values(‘hoo’,2)”cn.Execute sqlinsset cn=NothingEnd Sub运算结果如下进一步的,如果我们使用循环,就可以将电子表格中的数据导入到SQl数据库中。
Excel多表汇总与SQL查询语句同学们好啊,⾸先以实例讲解⼀下怎样合并多表的数据。
数据源⽂件中有三个表,分别是⼀组、⼆组、三组,⾥⾯有各个销售员的销售数据。
Step 1、建⽴连接并获取数据点击【数据】选项卡下⾯的“现有连接”。
在弹出的对话框中点击左下⾓的“浏览更多”按钮,找到数据所在的⽂件,会弹出以下对话框。
任意选择⼀个表并点击“确定”按钮就可以了,因为后⾯还要更改成查询语句。
在弹出的对话框中可以选择显⽰列表或者直接创建数据透视表,并且可以指定数据显⽰的位置。
这⾥选择“表”,这样我们就建⽴了链接并初步导⼊了数据。
Step 2、修改查询语句在上⼀步中得到的数据区域,点击右键,选择“表格”-->“编辑查询”。
在打开的对话框中输⼊查询语句:Select '⼀组' as 数据来源,* from [⼀组$] union allSelect '⼆组' as 数据来源,* from [⼆组$] union allSelect '三组' as 数据来源,* from [三组$]这样就完成了多表汇总,是不是感觉很简单呢?最后和⼤家分享⼀些常⽤的SQL查询语句,到时候可以适当修改⼀下代码中的⼯作表名称,就可以应⽤到⾃⼰的⼯作中了。
常⽤查询SQL语句⽰例1、查询名称为Data的表中的所有字段的数据Select * from [Data$]注意:Excel⼯作表名称后⾯需要加上美元符号$,并且需要放到⽅括号[]中;星号*表⽰查询所有字段的数据。
2、查询名称为Data的表中的“销售员”和“销量”两个字段。
Select [销售员],[销量] from [Data$]注意:字段名称可以不加⽅括号,但是当字段名称中间有空格、字段名是SQL语句中的保留名注意:称等特殊情况时就必须要加⽅括号;在查询时,只要表中有这些字段就可以了,不⽤管这些字段的前后顺序。
3、查询名称为Data的表中销售员Lily的销售信息Select * from [Data$] Where 销售员='Lily'注意:需要指定条件时就⽤Where语句,多个条件⽤And、Or连接,分别表⽰并且、或;条件注意:格式为[字段名]=“具体内容”,操作符可以是=、>、<、>=、<=;如果是模糊查询就⽤like,⽐如:销售员 like="" '%lily%'="">In,⽐如:销售员 in ('Lily','Cherry')。
excel 函数大全2009年08月29日星期六 09:46数据库和清单管理函数DAVERAGE 返回选定数据库项的平均值DCOUNT 计算数据库中包含数字的单元格的个数DCOUNTA 计算数据库中非空单元格的个数DGET 从数据库中提取满足指定条件的单个记录DMAX 返回选定数据库项中的最大值DMIN 返回选定数据库项中的最小值DPRODUCT 乘以特定字段(此字段中的记录为数据库中满足指定条件的记录)中的值DSTDEV 根据数据库中选定项的示例估算标准偏差DSTDEVP 根据数据库中选定项的样本总体计算标准偏差DSUM 对数据库中满足条件的记录的字段列中的数字求和DVAR 根据数据库中选定项的示例估算方差DVARP 根据数据库中选定项的样本总体计算方差GETPIVOTDATA 返回存储在数据透视表中的数据日期和时间函数DATE 返回特定时间的系列数DATEDIF 计算两个日期之间的年、月、日数DATEVALUE 将文本格式的日期转换为系列数DAY 将系列数转换为月份中的日DAYS360 按每年 360 天计算两个日期之间的天数EDATE 返回在开始日期之前或之后指定月数的某个日期的系列数EOMONTH 返回指定月份数之前或之后某月的最后一天的系列数HOUR 将系列数转换为小时MINUTE 将系列数转换为分钟MONTH 将系列数转换为月NETWORKDAYS 返回两个日期之间的完整工作日数NOW 返回当前日期和时间的系列数SECOND 将系列数转换为秒TIME 返回特定时间的系列数TIMEVALUE 将文本格式的时间转换为系列数TODAY 返回当天日期的系列数WEEKDAY 将系列数转换为星期WORKDAY 返回指定工作日数之前或之后某日期的系列数YEAR 将系列数转换为年YEARFRAC 返回代表 start_date(开始日期)和 end_date(结束日期)之间天数的以年为单位的分数DDE 和外部函数CALL 调用动态链接库(DLL)或代码源中的过程REGISTER.ID 返回已注册的指定 DLL 或代码源的注册 IDSQL.REQUEST 连接外部数据源,并从工作表中运行查询,然后将结果作为数组返回,而无需进行宏编程。
excel sql常用查询语句一勺汇
在Excel中,我们经常需要使用SQL语句来查询数据,以便更好地分析和处理数据。
下面列举了一些常用的Excel SQL查询语句,供参考:
1. 查询数据表中所有的记录:
SELECT * FROM 表名;
2. 查询数据表中指定列的数据:
SELECT 列1, 列2, 列3 FROM 表名;
3. 查询数据表中满足指定条件的记录:
SELECT * FROM 表名 WHERE 条件;
4. 查询数据表中去重后的记录:
SELECT DISTINCT 列1, 列2 FROM 表名;
5. 查询数据表中按指定列排序后的记录:
SELECT * FROM 表名 ORDER BY 列名 ASC/DESC;
6. 查询数据表中指定列的汇总数据:
SELECT 列1, SUM(列2) FROM 表名 GROUP BY 列1;
7. 查询数据表中前n条记录:
SELECT TOP n * FROM 表名;
8. 查询数据表中两个表的交集:
SELECT * FROM 表名1 INNER JOIN 表名2 ON 表名1.列名 = 表名2.列名;
9. 查询数据表中两个表的并集:
SELECT * FROM 表名1 UNION SELECT * FROM 表名2;
10. 查询数据表中两个表的差集:
SELECT * FROM 表名1 EXCEPT SELECT * FROM 表名2;
以上是一些常用的Excel SQL查询语句,通过灵活运用这些语句,我们可以更好地查询和分析数据,提高工作效率和数据处理的准确性。
希望以上内容对您有所帮助。
目录一、前言 (3)1.背景简介 (3)2.适用范围: (4)3.技巧介绍 (4)4.SQL函数分类 (5)二、聚合函数 (6)1.Sum 函数 (6)2.Count 函数 (8)3.Avg 函数 (9)4.Min 和 Max 函数 (10)5.First 和 Last 函数 (11)6.StDev 和 StDevP 函数 (12)7.Var 和 VarP 函数 (12)三、字符串相关函数 (13)(一) 字符串查找函数 (13)1.Instr函数 (13)2.InStrB 函数 (15)(二) 字符串转换函数 (15)1.CBool(expression) (15)2.CByte(expression) (15)ur(expression) (15)4.CDate(expression) (15)5.CDbl(expression) (15)6.CDec(expression) (15)7.CInt(expression) (15)8.CLng(expression) (15)9.CSng(expression) (15)10.CStr(expression) (15)11.CVar(expression) (15)12.Val(string) (15)13.Str(number) (16)(三) 字符串处理函数 (17)1.Trim(string) (17)2.Ltrim(string) (17)3.Rtrim(string) (17)4.Len(string) (17)5.Left(string, x) (17)6.Right(string, x) (17)7.Mid(string, start,x) (17)8.Ucase(string) (17)9.Lcase(string) (17)10.Space(x) (18)11.Asc(string) (18)12.AscB(string) (18)13.AscW(string) (18)14.Chr(charcode) (18)15.ChrW(charcode as long) (18)16.String(number,string) (18)17.LeftB(String, Length As Long) (18)18.RightB(String, Length As Long) (18)19.MidB(String, Start As Long, [Length]) (18)20.LenB(Expression) (19)21.Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) (19)22.StrComp(string1, string2[, compare]) (20)23.StrConv(string, conversion, LCID) (21)四、数学函数 (22)1.Sin(X)、Cos(X)、Tan(X)、Atan(x) (22)2.Log(x) (22)3. Exp(x) (22)4.Abs(x) 返回绝对值。
(22)5.Int(number)、Fix(number) (22)6.Sgn(number) (22)7.Sqr(number) (22)8.VarType(varname) (22)9.Rnd(x) (22)10.ROUND(c,decimals) (22)五、测试函数 (22)1.IsNumeric(x) (22)2.IsDate(x) (23)3.IsEmpty(x) (23)4.IsError(expression) (23)5.IsNull(expression) (23)6.IsObject(identifier) (23)六、日期时间函数 (23)1.日期加减:DateAdd函数 (23)2.计算两个日期的差DateDiff函数: (24)3.提取日期中的部分内容DatePart函数: (24)4.用独立的部件生成日期DateSerial函数: (25)5.用字符串表达式生成日期:DateValue(stringexpression) (26)6.Now() (26)7.Date() (26)8.Time() (26)9.Timer() (26)10.TimeSerial(hour, minute, second) (26)11.DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) (26)12.Second(time) (26)13.Minute(time) (27)14.Hour(time) (27)15.Day(date) (27)16.Month(date) (27)17.Year(date) (27)18.Weekday(date, [firstdayofweek]) (27)七、流程控制函数 (27)1.Iif()和Switch() (27)八、结束语 (28)一、前言1.背景简介一直想对EXCEL 2003中SQL语句里的可用函数进行专门的归纳整理,今天终于与大家见面了。
虽然目前EXCEL 2007/2010使用者越来越多,但无疑EXCEL 2003依然有着大量的使用人群,所以我才觉得很有必要对此进行整理,方便SQL初学者,希望他们能够少走一些弯路,节约一点时间来学习更多的精彩内容。
相信对于使用高版本的朋友来说,本文也是有一定的借鉴作用的。
构成本文的内容,有相当部分是来自于EH培训中心SQL初级培训班的培训过程,有引自EH技术论坛的内容,也有来自微软提供的帮助文档,当然还有本人自己钻研的一点点心得体会,所以这里主要是一种归纳整理。
由于本人水平所限,学习SQL时间也不长,所以有许多地方理解还比较肤浅,也难免有所疏漏或谬误,欢迎大家批评指正,或给与补充。
本文中,如果没有特别说明,则所提到的SQL函数都是已经经过本人在EXCEL2003中OLE DB环境下测试并通过的;文中提到的示例语句一般使用蓝色字体,由于示例太多的话,将会让EXCEL文件过于庞大,故只在EXCEL文件“EXCEL-OLE DB之SQL函数示例(whsfhwm整理).xls”里提供了一部分实例,方便大家进行测试,文中出现的示例,而上述EXCEL文件中又没有的,完全可以自己做测试。
另外,由于SQL语句的语法对于大小写不敏感,所以本文中并没有对SQL语句的书写进行严格规范,这一点请大家多多包涵。
2.适用环境:本文介绍的内容适用的环境为:EXCEL 2003 OLE-DB环境下的SQL查询。
本文内容重点在于介绍SQL函数,而非SQL语句。
3.技巧介绍介绍SQL函数之前,先介绍一下本人在测试SQL语句中的几个小技巧:●编辑技巧:(虽然不是本人首创,但接触SQL多了,自然而然就需要这样做了)使用记事本或其他类似小巧的编辑工具来编辑SQL语句。
通常,你会感觉到编辑查询对话框中进行编辑SQL语句实在是不方便,因此推荐在记事本中进行编辑,好处有两点:一是可以方便的将数据源的标题行复制过来,然后用替换的方法将字段名称之间转化为“,”,这个是SQL 语句语法的要求,这样复制过来的字段名称还可以避免自己录入出错的可能性;二是可以防止在所书写SQL语句有错误的情况下丢失刚才的语句,起到临时书写备份的作用,便于自己对错误语句的检查。
●首次创建查询表技巧:第一次创建导入外部数据的查询表时,不得不通过菜单-导入外部数据-导入数据-选择数据源文件-出现“编辑OLE DB 查询”对话框时,此时一般就不要匆忙将自己书写的SQL查询语句录入到命令文本中,而是采用默认的方式生成查询表,这样做的好处就是避免自己所写的SQL语句有误,不产生任何结果,然后下一次操作又要重复上面的步骤,效率显然较低;所以建议采用默认方式,然后再通过右键快捷菜单打开编辑查询对话框进行修改测试。
●复制SQL查询表技巧:针对同一数据源创建多个SQL查询表时,第二个及以后的查询表可以不用通过菜单操作,而直接把第一个SQL查询表的全部区域进行复制(显然比通过菜单操作要快得多),然后修改SQL语句即可。
注意:当你的被复制的SQL查询表只返回一个值时,也就是只有一个字段名,一个结果值,显示上只有一列两行,实际要复制的时候必须复制一列3行,即把结果值下面的那个单元格也一起复制,否则复制过去的就不是查询表,右键点击就不会有“编辑查询”菜单(经本人测试,EXCEL2007/2010版本创建的SQL查询表不存在此问题)。
●调试复杂SQL语句技巧(比如用到嵌套查询或联合查询或子句较多):可以将SQL语句分割成多个独立的查询分语句或去掉一些复杂子句,然后逐一测试分语句或逐步添加子句,这样便于发现问题,或观察中间结果是否与自己的期望结果一致。
●注意检查源表字段的数据类型:这个其实不叫技巧,但需要引起重视,尤其是出现古怪的结果的时候。
尽量采用规范的表格数据结构,同一个字段的数据类型要注意保持一致,否则可能出现意想不到的结果,超出你的期望。
4.SQL函数分类EXCEL2003中的SQL函数主要有如下几类(共有88个):●聚合函数(也有称作“合计函数”、“聚集函数”等其他叫法的,我们主要注重学习用法。
)●字符串相关函数●日期时间函数●数学函数●测试函数●流程控制函数二、聚合函数这一部分主要参考了《Microsoft Jet SQL语言参考》中的内容,并结合本人的测试示例和一些亲身体会来介绍。
聚合函数主要有:●Sum 函数●Count 函数●Avg 函数●Min, Max 函数●First, Last 函数●StDev, StDevP 函数●Var 和 VarP 函数注意:使用聚合函数的查询必须要有from子句。
1.Sum 函数返回值:包含在指定查询字段中一组值的总计。
语法: Sum(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。
expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL 聚合函数)。
说明:Sum 函数会忽略包含Null 字段的记录。
可以在一个查询表达式之中使用Sum 函数。
你也可以在具备SQL 特性的QueryDef 对象中或在创建基于SQL查询的Recordset 对象时使用这一表达式。
示例:示例1-1:查询各省份的发货数量小计:select 省份,sum(数量) as 数量小计from [发货清单$] group by 省份示例1-2:统计发货总数量:select sum(数量) as 总数量from [发货清单$]示例1-3:统计湖南省2009年发货总数量:select sum(数量) as 2009年湖南发货总屏数from [发货清单$] where 省份='湖南' and 发货日期between #2009-1-1# and #2009-12-31# 注意:在EXCEL2003中,上述示例1-2、示例1-3 的返回值虽然都是一个,只有2个单元格(包括字段名称)有显示内容,但所在的SQL查询结果占用了3个单元格(包括第3行所在同列的单元格)。