Retrieving 10 records from multiple tables
With a slight waste of fetched rows, you can:

SELECT * FROM (
  SELECT * FROM table2 WHERE &lt;your_own_condition&gt; ORDER BY &lt;your_own_condition&gt; LIMIT 3
  UNION ALL
  SELECT * FROM table1 WHERE &lt;your_own_condition&gt; ORDER BY &lt;your_own_condition&gt; LIMIT 10
) select_both
LIMIT 10
;


At the worst case we will be reading 13 rows, then filtering them down to 10.