我有一个这样的疑问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;
2条答案
按热度按时间a8jjtwal1#
如果
colC
中的所有值都相同,则将以任意顺序返回行。请注意,arbitrary并不一定是随机的-每次运行查询时,您不太可能得到不同的行顺序,但是如果
order by
子句中使用的列在查询返回的所有行中包含相同的值,则数据库无法保证行的任何特定顺序。请注意,
null
不是blank
,也不是empty
,而是unknown
-字符串列(如char
或varchar
)可能包含空字符串-但空字符串不等同于null
。vwhgwdsa2#
colC
中具有空/空白/NULL值的行可能会一起出现在排序结果集的开头或结尾,这取决于所使用的MySQL的具体实现或版本。