Telegram Web Link
🤩21👍1
Friendly reminder:
The UNION and UNION ALL operators may order the rows in the final result set in an unspecified order. For example, it may place rows from the second result set before/after the row from the first result set.


I have encountered a situation where a query with UNION and UNION ALL resulted in a stable different row order...

UNION is often used for something like this:

SELECT * FROM (
SELECT id FROM t WHERE name = 'user_input'
UNION
SELECT id FROM t WHERE name = 'default_value'
)
LIMIT 1


It is important that if a record with 'user_input' is found, it should be the first record in the result.
In such a case, add an ORDER BY of this form to the query:

ORDER BY name = 'default_value'
👍3🤔3🤨1
mysql 9.0

https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html

What do you think they never did? modifying CTE and RETURNING
🥰3
😁18👍15💊3🥰2🥱1
😁40👍3👎2🥴1
2025/07/14 00:17:27
Back to Top
HTML Embed Code: