UNION ALL mysql子句?中的行默认顺序?。。我是说,哪一行先取?

UNION ALL mysql子句?中的行默认顺序?。。我是说,哪一行先取?,mysql,sql,union,Mysql,Sql,Union,例如,如果我有一个真正简单的查询: 选择1 联合所有 选择2 然后通过Perl或PHP获取行-我会将“1”作为第一行,将“2”作为第二行吗?这种行为在任何地方都有描述吗 Thanx没有默认顺序,不在表中也不在查询中,除非使用ORDERBY指定显式顺序 第一行可能是1,第二行可能是2,但这不是默认行为,也没有在任何地方描述。这只是巧合 是的,您将获得该输出。..Thanx用于快速回答)如果您需要特定的订单,请通过指定一个订单。SQL标准保证没有订单就没有订单。对于虚构的,甚至不接近真实的示例,它将

例如,如果我有一个真正简单的查询:

选择1 联合所有 选择2

然后通过Perl或PHP获取行-我会将“1”作为第一行,将“2”作为第二行吗?这种行为在任何地方都有描述吗


Thanx

没有默认顺序,不在表中也不在查询中,除非使用ORDERBY指定显式顺序


第一行可能是1,第二行可能是2,但这不是默认行为,也没有在任何地方描述。这只是巧合

是的,您将获得该输出。..Thanx用于快速回答)如果您需要特定的订单,请通过指定一个
订单。SQL标准保证没有订单就没有订单。对于虚构的,甚至不接近真实的示例,它将返回您想要的结果,但在任何实际的工作查询中,它可能不会返回结果。Union All是一个快速查询,因为它根本没有顺序,它只是将所有内容放在一起并显示。。。。如果由DBA生成union all+order,将导致您死亡,因为该过程应该会更慢……除非您指定order by子句,否则优化器可以自由地以任何顺序返回行,这可能与今天或明年不同。(对其他注释的注释:union运算符执行distinct,这意味着排序。但是,不能保证order by与预期的排序顺序相同。某些RDBMS将执行基于哈希的排序/distinct,这可能会产生意外的顺序。)