Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1982|回复: 8

[已解决]SQL里面说的数据表是指工作表还是工作簿?

[复制链接]
发表于 2009-10-17 20:39 | 显示全部楼层 |阅读模式

想问一下SQL里面所说的数据表是指工作表还是工作簿?

如:

select * from 职工信息 where 职工编号 = '00001'

这里面的"职工信息"是指工作表还是工作簿的?

最佳答案
2009-10-17 23:49
QUOTE:
以下是引用GeV20在2009-10-17 22:23:00的发言:

是表,但不是工作表,只不过在某条件下,可以使用工作表名。

若用工作表名,语法上不是楼主例子中的那样。

学数据库就用数据库的术语


基本上是这个意思!

select * from 职工信息 where 职工编号 = '00001'

这一句是SQL语言,意思是:选择职工信息表中的所有字段信息输出,要求是职工编号字段全有等于0001元组。

这个操作类似于我们EXCEL中的筛选操作。

但需要说明的是,这句话是在SQL环境下用的(或者简单的说数据库环境吧)。关于楼主的提问,

就需要重点说明,数据库中谈到的表,和EXCEL中谈到的工作表、工作薄不是一回事。

在EXCEl中工作薄由多个工作表组成,一个工作表你可以在上面建立无数个数据块。

在数据库环境下的表,是数据库的最小单位,表纵向的每一个字段反映某一个属性,

横向一个元组反映一条信息。例如职工信息表,就可能有职工编号、姓名、身份证号。。。等很多字段组成,

具体的,00001,张三,3601031974********,。。。。这样一个元组就是反映一具体信息。

所有这些元组的集合,字段的集合构成了表。这里就不允许表里包含一个其它什么表的情况。

还要说明的,在EXCEL中是可以用SQL语言调用EXCEL工作表的,

Excel里用VBA通过SQL语句查询外部数据库可以用ODBC来连接,

  Dim cnn As New ADODB.Connection
  Dim sql$, ar
  cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
  sql = "select  * from [职工信息$] where 职工编号 = '00001'"

你可能需要这样,EXCEL才能读懂了。

注意一下这里的工作表名的写法。

最后还是给你一个样例自己看吧:

 

LlDVanN4.rar (9.04 KB, 下载次数: 6)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2009-10-17 20:44 | 显示全部楼层
回复

使用道具 举报

发表于 2009-10-17 21:24 | 显示全部楼层
回复

使用道具 举报

发表于 2009-10-17 22:08 | 显示全部楼层

同意工作表.

回复

使用道具 举报

发表于 2009-10-17 22:23 | 显示全部楼层

是表,但不是工作表,只不过在某条件下,可以使用工作表名。

若用工作表名,语法上不是楼主例子中的那样。

学数据库就用数据库的术语

[此贴子已经被作者于2009-10-17 22:30:54编辑过]
回复

使用道具 举报

发表于 2009-10-17 23:49 | 显示全部楼层    本楼为最佳答案   

QUOTE:
以下是引用GeV20在2009-10-17 22:23:00的发言:

是表,但不是工作表,只不过在某条件下,可以使用工作表名。

若用工作表名,语法上不是楼主例子中的那样。

学数据库就用数据库的术语


基本上是这个意思!

select * from 职工信息 where 职工编号 = '00001'

这一句是SQL语言,意思是:选择职工信息表中的所有字段信息输出,要求是职工编号字段全有等于0001元组。

这个操作类似于我们EXCEL中的筛选操作。

但需要说明的是,这句话是在SQL环境下用的(或者简单的说数据库环境吧)。关于楼主的提问,

就需要重点说明,数据库中谈到的表,和EXCEL中谈到的工作表、工作薄不是一回事。

在EXCEl中工作薄由多个工作表组成,一个工作表你可以在上面建立无数个数据块。

在数据库环境下的表,是数据库的最小单位,表纵向的每一个字段反映某一个属性,

横向一个元组反映一条信息。例如职工信息表,就可能有职工编号、姓名、身份证号。。。等很多字段组成,

具体的,00001,张三,3601031974********,。。。。这样一个元组就是反映一具体信息。

所有这些元组的集合,字段的集合构成了表。这里就不允许表里包含一个其它什么表的情况。

还要说明的,在EXCEL中是可以用SQL语言调用EXCEL工作表的,

Excel里用VBA通过SQL语句查询外部数据库可以用ODBC来连接,

  Dim cnn As New ADODB.Connection
  Dim sql$, ar
  cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
  sql = "select  * from [职工信息$] where 职工编号 = '00001'"

你可能需要这样,EXCEL才能读懂了。

注意一下这里的工作表名的写法。

最后还是给你一个样例自己看吧:

 

LlDVanN4.rar (9.04 KB, 下载次数: 6)
回复

使用道具 举报

 楼主| 发表于 2009-10-18 16:48 | 显示全部楼层

谢谢大家

 

[em17][em17]
回复

使用道具 举报

发表于 2009-10-18 16:53 | 显示全部楼层

应该是SQL数据库中的表,像这样的

[已解决]SQL里面说的数据表是指工作表还是工作簿?

[已解决]SQL里面说的数据表是指工作表还是工作簿?

回复

使用道具 举报

 楼主| 发表于 2009-10-18 16:54 | 显示全部楼层

昨天晚上我利用导入外部数据里面的编辑查询里输入:

select * from 职工信息 where 职工编号 = '00001'

结果就是连连出错,后来才知道,原来是数据表名出错了,数据表名应该是[职工信息$]

原来数据库中谈到的表,和EXCEL中谈到的工作表、工作薄不是一回事。

谢谢jx1680000

[em17]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-18 03:58 , Processed in 0.325290 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表