sql中的 order by 子句用于對查詢結果按指定列進行排序,可指定升序(asc)或降序(desc)排列,還可指定多個排序條件。默認情況下,null 值視為最大值,可使用 is null 子句更改此行為。
SQL 中 ORDER BY 的含義
ORDER BY 子句用于對查詢結果根據指定列進行排序。它可以讓您按升序(升序)或降序(降序)排列數據。
語法:
<code>SELECT * FROM table_name ORDER BY column_name [ASC | DESC];</code>
登錄后復制
column_name:要根據其排序的列。
ASC:指定升序排序(從最小到最大)。
DESC:指定降序排序(從最大到最小)。
示例:
要按 employees 表中的 “salary” 列升序排序,可以使用以下查詢:
<code>SELECT * FROM employees ORDER BY salary ASC;</code>
登錄后復制
要按 “name” 列降序排序,可以使用以下查詢:
<code>SELECT * FROM employees ORDER BY name DESC;</code>
登錄后復制
多個排序條件:
ORDER BY 子句可以指定多個排序條件。這些條件按指定順序應用。例如,要按 “salary” 列降序,然后按 “name” 列升序排序,可以使用以下查詢:
<code>SELECT * FROM employees ORDER BY salary DESC, name ASC;</code>
登錄后復制
NULL 值的排序:
默認情況下,NULL 值在排序中被視為最大值。要更改此行為,可以使用 IS NULL 子句:
<code>SELECT * FROM employees ORDER BY salary IS NULL DESC, salary ASC;</code>
登錄后復制
在上面的示例中,NULL 值將被視為最小值并按降序排序。