Excel中使用SQL时的表引用规则

 

Excel可以获取多种数据库中的数据,在表的引用规则方面也存在一定的差异,在书写SQL查询语句时需要引起注意。下面将介绍几种常用表的引用方法。

1Excel工作表引用规则

Excel工作表在引用时需要将其包含在方括号内“[]”,同时需要在其工作表名称后面加上“$”符号,如:

SELECT * FROM [Sheet1$]

如果要引用工作表中的部分区域,则可以在“$”符号后面添加区域限定。例如,下面的语句表示引用Sheet1A1:A3区域。

SELECT * FROM [Sheet1$A1:C3]

如果需要在当前工作簿中引用其他工作簿中的工作表,则需要在工作表名称前面加上文件名称限定,文件名包含在方括号内,文件名与工作表之间使用“.”分隔。如:

SELECT *

FROM [D:\MyBooks\8\产品信息new.xlsx].[Sheet1$]

2SQL Server表引用规则

在引用SQL Server数据库表时,无需将表名称包含在方括号内,名称后面也不需要添加“$”符号。自SQL Server 2005开始引入了架构管理方式,如果在一个数据库中有多个对象具有相同的名称,则应使用架构名称来限定表名称。例如,假设Schema1Schema2架构都含有一个名为TableX的表,而下面的语句明确指定要引用Schema1中的TableX表:

SELECT *

FROM Schema1.TableX

如果所引用的表不是在当前数据库中,则应当以数据库和架构来限定对象名称。例如,下面的语句明确指定要引用AdventureWorks数据库中的Purchasing.ShipMethod表:

SELECT *

FROM AdventureWorks.Purchasing.ShipMethod

如果FROM子句中所指定的表和视图存在相同的列名,则应当使用表或视图名称来限定列名。例如,下面语句所生成的结果集合由Customer表的CustomerID列和Store表的Name列组成,在指定连接条件时,为CustomerID分别使用了Sales.CustomerSales.Store限定。

SELECT Sales.Customer.CustomerID, Sales.Store.Name

FROM Sales.Customer

  JOIN Sales.Store

    ONSales.Customer.CustomerID = Sales.Store.CustomerID

WHERE Sales.Customer.TerritoryID = 1

3Access表引用规则

与引用SQL Server数据库表相同,引用Access表时也无需将表名称包含在方括号内,名称后面也不需要添加“$”符号。

当需要在SQL查询中引用当前连接Access数据库之外的其他Access数据库表时,需要在表名称前面加上数据库文件名称限定,文件名包含在方括号内,文件名与工作表之间使用“.”分隔。例如,下面的语句表示对“D:\MyBooks\8”目录下DB.accdb数据库的HumanResources_Department表执行查询。

SELECT *

FROM [D:\MyBooks\8\DB.accdb].HumanResources_Department

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值