读书人

SQL中的括号是什么意思?解决思路

发布时间: 2012-12-21 12:03:49 作者: rapoo

SQL中的括号是什么意思?
SELECT
distinct
{shipment_requests.*},
{shippingaddress.*},
{billingaddress.*},
{orders.*},
{rep_infos.*},
{warehouses.*}
FROM warehouses
INNER JOIN
( select top 100 *
from shipment_requests
where warehouse_id=5 and shipment_requests.status_code='ready_to_ship')
shipment_requests
ON warehouses.id = shipment_requests.warehouse_id
INNER JOIN shipment_request_line_items
ON shipment_requests.id = shipment_request_line_items.shipment_request_id
这里面的(select top 。。。)什么意思?
[最优解释]
不行,这是里面的子查询的名字 ,可以改名字 比如A 但是必须要有。
[其他解释]
子查询: shipment_requests 表里前100行
[其他解释]
把那个查询语句返回的结果集作为一个表来使用。里面的意思是查询满足条件的所有数据根据order by后的字段取出前一百行数据
[其他解释]
查询前100行数据
[其他解释]

引用:
子查询: shipment_requests 表里前100行

那么 ( select top 100 *
from shipment_requests
where warehouse_id=5 and shipment_requests.status_code='ready_to_ship')
shipment_requests 这个shipment_requests是否可以不要?
[其他解释]
引用:
不行,这是里面的子查询的名字 ,可以改名字 比如A 但是必须要有。

也就是说可以改成这样?
( select top 100 *
from shipment_requests
where warehouse_id=5 and shipment_requests.status_code='ready_to_ship')
A
ON warehouses.id = A.warehouse_id
INNER JOIN shipment_request_line_items
ON A.id = shipment_request_line_items.shipment_request_id

[其他解释]
引用:
引用:不行,这是里面的子查询的名字 ,可以改名字 比如A 但是必须要有。
也就是说可以改成这样?
( select top 100 *
from shipment_requests
where warehouse_id=5 and shipment_requests.status_code='ready_……

聪明!
[其他解释]
引用:
引用:
引用:不行,这是里面的子查询的名字 ,可以改名字 比如A 但是必须要有。
也就是说可以改成这样?
( select top 100 *
from shipment_requests
where warehouse_id=5 and shipment_requests.st……

谢谢 ! 结贴

读书人网 >SQL Server

热点推荐