Tại sao khi chúng ta có một giá trị NULL trong một cột và chúng ta sắp xếp theo giá trị tăng dần, các NULL được sắp xếp trước?
select 1 as test
union all
select 2
union all
select NULL
union all
select 3
union all
select 4
order by test
kết quả trong
NULL
1
2
3
4
Tôi cứ nghĩ rằng NULL có nghĩa là "Không xác định" hoặc có thể là "Không biết". Nếu đó là sự thật, họ sẽ không sắp xếp cuối cùng, vì giá trị có thể lớn hơn tất cả các giá trị khác? (Hay đây là một tùy chọn sắp xếp ở đâu đó?)
Tôi đang dùng SQL Server 2008R2, nhưng tôi nghi ngờ điều này đúng trên tất cả các Máy chủ SQL và có lẽ trên tất cả các RDBMS.
desc
đặt hàng để hiển thị những thứ lớn nhất hoặc gần đây nhất, trong trường hợp đó tôi rất vui vì những thứ vô giá trị là cuối cùng.