发现星号的其他作用

ZDNet软件频道 时间:2004-02-10 作者:ZDNet China |  我要评论()
本文关键词:sql
在许多的SELECT语句中,星号(*)是一个涉及到给定表格的所有列的一个方法。然而,星号也可以帮助你了解表格结构的信息,同时它也可以帮助在查询中过滤数据。
本文译自Builder.com,未经许可请勿转载

在许多的SELECT语句中,星号(*)是一个涉及到给定表格的所有列的一个方法。然而,星号也可以帮助你了解表格结构的信息,同时它也可以帮助在查询中过滤数据。

当只使用星号而不用限定语句时,在最后输出的结果集的列的顺序与它们的创建列表、改变列表或者是创建的视图状态的顺序是一致的。用另外一句话说,即使是表格被改动了,星号将返回最多最常用的表格状态的最后一列。

在这个例子中,让我们看一下Northwind数据库的一个简单的表Shippers,这个Shippers表中包含三行:ShipperID,公司名字,电话号码。

如果我们使用下面的查询语句,我们的结果集将会返回同样顺序的数据。

USE NORTHWIND

GO

SELECT *

FROM SHIPPERS

GO

ShipperID         CompanyName                      Phone

----------- ---------------------------------------- ------------

1                      Speedy Express                   (503) 555-9831

2                      United Package                   (503) 555-3199

3                      Federal Shipping                 (503) 555-9931

 

(3 row(s) affected)

 

使用表格或者是视图限定语句,星号将返回表格和视图中的所有的列。当你需要使用返回数据的时候,这在多查询情况下是非常有效的。

 

例如,在使用Northwind数据库是,我们需要Shippers表格中的所有列并且满足我们的连接需求。

USE Northwind

GO

SELECT Orders.OrderID, Shippers.*

FROM Shippers

             JOIN

            Orders

            ON (Shippers.ShipperID = Orders.ShipVia)

ORDER BY Orders.OrderID

GO

 

OrderID         ShipperID       CompanyName         Phone

------               ---------             --------------------          ----------       

10248                3                 Federal Shipping    (503) 555-9931

10249                1                 Speedy Express      (503) 555-9831

11076                2                 United Package      (503) 555-3199

11077                2                 United Package      (503) 555-3199

 

(830 row(s) affected)

 



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134