发现星号的其他作用

发表于:2007-05-25来源:作者:点击数: 标签:许多的多的号的其他发现
在许多的SELECT语句中,星号(*)是一个涉及到给定表格的所有列的一个方法。然而,星号也可以帮助你了解表格结构的信息,同时它也可以帮助在查询中过滤数据。 当只使用星号而不用限定语句时,在最后输出的结果集的列的顺序与它们的创建列表、改变列表或者是

  在许多的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)

原文转自:http://www.ltesting.net