Det beror på att du använder LIMIT.
MySql-referens säger att om du vill använda ORDER BY eller LIMIT på individuella val, måste du omge dina marker med parenteser.
Exempel (Från MySQL-referens):
För att tillämpa ORDER BY eller LIMIT på en enskild SELECT, placera satsen inom parentesen som omger SELECT:
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
Resurs finns här:http://dev.mysql.com /doc/refman/5.0/en/union.html
EDIT: Ändrade referenslänk eftersom den tidigare var för version 5.5. Men svaret ändrades inte.