There will be no singularity
1.98K subscribers
249 photos
15 videos
5 files
996 links
Smartface, technologies and decay
@antonrevyako
Download Telegram
🀩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
😁41πŸ‘3πŸ‘Ž2πŸ₯΄1
🀩19🀨9πŸ—Ώ4πŸ‘¨β€πŸ’»1
πŸ‘Ž2😁2
4😁20πŸ”₯4πŸ’―2🌚1