LIMIT
a のどこに aが適用されるかは明確ではありませんUNION
。
SELECT * From table A
where conditions
UNION
SELECT * From table B
where conditions
LIMIT 10
LIMIT 10は UNIONの結果に適用されますか? または、テーブル B の選択に?
私が必要とするのは、UNIONの結果に適用することです
マニュアルから直接:
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
ユニオンの結果に制限が適用されます。