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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值