3

我不清楚 aLIMIT适用于 aUNION
如果我有:

SELECT * From table A  
where conditions  
UNION  
SELECT * From table B   
where conditions  
LIMIT 10  

LIMIT 10 是否适用于UNION的结果?还是选择表B?
我需要的是申请UNION的结果

4

2 回答 2

1

UNION 运算符在哪里?无论如何,10 的 LIMIT 可能至少适用于 UNION 的结果,至少在你放置它的地方。

于 2013-09-03T17:24:00.537 回答
1

直接从手册

要使用 ORDER BY 或 LIMIT 子句对整个 UNION 结果进行排序或限制,请将各个 SELECT 语句括起来,并将 ORDER BY 或 LIMIT 放在最后一个语句之后。以下示例同时使用了这两个子句:

(SELECT a FROM t1 WHERE a=10 AND B=1)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;

没有括号的语句等同于刚刚显示的带括号的语句。


在你的情况下:

SELECT * From table A  
where conditions    
UNION --assuming the union is here
SELECT * From table B   
where conditions  
LIMIT 10 

该限制将应用于联合的结果

于 2013-09-03T17:19:15.183 回答