如果MySQL Query中SORT列中的所有值都是空的或Empty或NULL,会发生什么?

qxsslcnc  于 2023-06-28  发布在  Mysql
关注(0)|答案(2)|浏览(140)

我有一个这样的疑问
SELECT colA, colB, colC, colD FROM myTable ORDER BY colC ASC;
这里,在myTable中,列colC中的所有值都是Empty/Blank/NULL。现在,MySQL在这种情况下会如何表现?我知道查询仍然会执行而不会出错。但是我很好奇,如果提到的列的所有值都是Empty/Blank/NULL,那么SORTING将如何表现。在哪一列上,SORTING将在结果集上发生?
SELECT colA, colB, colC, colD FROM myTable ORDER BY colC ASC;

a8jjtwal

a8jjtwal1#

如果colC中的所有值都相同,则将以任意顺序返回行。
请注意,arbitrary并不一定是随机的-每次运行查询时,您不太可能得到不同的行顺序,但是如果order by子句中使用的列在查询返回的所有行中包含相同的值,则数据库无法保证行的任何特定顺序。
请注意,null不是blank,也不是empty,而是unknown-字符串列(如charvarchar)可能包含空字符串-但空字符串不等同于null

vwhgwdsa

vwhgwdsa2#

colC中具有空/空白/NULL值的行可能会一起出现在排序结果集的开头或结尾,这取决于所使用的MySQL的具体实现或版本。

相关问题