SELECT语句中的*号不为人知的其他作用
时间:2007-08-10 05:01:00
来源: 作者: 点击:次 出处:技术无忧
关键字:
在很多的SELECT语句中,*是一个给定表格的所有列的一个方法。然而,*号也可以帮助你了解表格结构的信息,同时它也可以帮助在查询中过滤数据。
当只使用*号而不用限定语句时,在最后输出的结果集的列的顺序与它们的创建列表、改变列表或者是创建的视图状态的顺序是一致的。用另外一句话说,即使是表格被改动了,*号将返回最多最常用的表格状态的最后一列。
在这个例子中,让我们看一下Northwind数据库的一个简单的表Shippers,这个Shippers表中包含三行:ShipperID,公司名字,电话号码。
如果我们使用下面的查询语句,我们的结果集将会返回同样顺序的数据。
USE NORTHWINDGOSELECT *FROM SHIPPERSGOShipperID CompanyName Phone------------------------------ --------1 Speedy Express (503) 555-98312 United Package (503) 555-31993 Federal Shipping (503) 555-9931 (3 row(s) affected) |
使用表格或者是视图限定语句,*号将返回表格和视图中的所有的列。当你需要使用返回数据的时候,这在多查询情况下是非常有效的。
例如,在使用Northwind数据库是,我们需要Shippers表格中的所有列并且满足我们的连接需求。
USE NorthwindGOSELECT Orders.OrderID, Shippers.*FROM Shippers JOIN Orders ON (Shippers.ShipperID = Orders.ShipVia)ORDER BY Orders.OrderIDGO OrderID ShipperID CompanyName Phone------ --------- ---------- ---------- 10248 3 Federal Shipping 503) 555-993110249 1 Speedy Express (503) 555-983111076 2 United Package (503) 555-319911077 2 United Package (503) 555-3199 (830 row(s) affected) |
请记住技术无忧网 中文域名 http://www.技术无忧.com

文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面