Order by は SQL の句です。これは、クエリの結果セットを昇順または降順で並べ替えるために使用されます。 1 つ以上の列を使用して並べ替えることができます。この記事では、MS SQL Server の Order by 句について説明します。
###文法###用語の説明
例 1
リーリー例 2
######部門###### ######給料###### |
1 |
ジョン |
######それ######
50000 |
---|---|---|---|
2 |
######単純######
######セール######
45000 |
| 3######ボブ###### ######それ###### | 55000
| 4
| アリス######人事###### | 40000
|
| トム######人事###### | 42000
|
Employees テーブルからすべてのデータを取得し、Salary 列で昇順に並べ替える場合、SQL クエリは - になります。 リーリー | 上記のクエリの出力は -
######従業員ID###### | 従業員の名前
######部門###### ######給料###### |
4 |
アリス |
######人事######
|
5 |
トム |
######人事######
42000 |
2
######単純###### ######セール######
| 1
| ジョン######それ###### | 50000
|
---|---|---|---|
######ボブ###### ######それ###### | 55000
|
降順に並べ替えます | 結果セットを降順に並べ替えるには、列名の後に DESC キーワードを指定する必要があります。
例 1 リーリー | この例では、結果セットは customer_name 列に基づいて降順で並べ替えられます。
従業員テーブルからすべてのデータを取得し、部門列で降順に並べ替える場合、SQL クエリは - になります。 リーリー | 上記のクエリの出力は次のとおりです。
######従業員ID###### | 従業員の名前 ######部門###### ######給料###### | 2 |
45000 | 1 | ジョン | ######それ###### 50000 |
3 | ######ボブ###### ######それ###### 55000 |
|
5 |
######人事###### 42000 |
|
4 | アリス ######人事###### |
我们还可以按多列对结果集进行排序。在本例中,Order by 子句首先根据第一列对结果集进行排序,然后根据第二列对结果集进行排序。
SELECT * FROM customers ORDER BY country, customer_name;
在此示例中,结果集将根据国家/地区列按升序排序。如果两行或多行具有相同的国家/地区,则这些行将根据 customer_name 列按升序排序。
如果我们想从Employees表中检索所有数据,并首先按Department列升序排序,然后按Salary列升序排序,SQL查询将是 -
SELECT * FROM Employees ORDER BY Department DESC;
上述查询的输出为
员工ID |
员工姓名 |
部门 |
薪资 |
---|---|---|---|
2 |
简 |
销售 |
45000 |
1 | 约翰 |
IT |
50000 |
3 |
鲍勃 |
IT |
55000 |
5 |
汤姆 |
人力资源 |
42000 |
4 |
爱丽丝 |
人力资源 |
40000 |
我们还可以按多列对结果集进行排序。在本例中,Order by 子句首先根据第一列对结果集进行排序,然后根据第二列对结果集进行排序。
SELECT * FROM customers ORDER BY country, customer_name;
在此示例中,结果集将根据国家/地区列按升序排序。如果两行或多行具有相同的国家/地区,则这些行将根据 customer_name 列按升序排序。
如果我们想要从Employees表中检索所有数据,并首先按Department列升序排序,然后按Salary列升序排序,那么SQL查询将是
SELECT * FROM Employees ORDER BY Department ASC, Salary ASC;
上述查询的输出为
员工ID |
员工姓名 |
部门 |
薪资 |
---|---|---|---|
4 |
爱丽丝 |
人力资源 |
40000 |
5 |
汤姆 |
人力资源 |
42000 |
1 |
约翰 |
IT |
50000 |
3 |
鲍勃 |
IT |
55000 |
2 |
简 |
销售 |
45000 |
这些示例演示了如何使用 Order by 子句对 MS SQL Server 中的查询结果集进行排序。
当我们使用 Order by 子句时,NULL 值的排序方式有所不同,具体取决于我们是按升序还是降序排序。按升序排列,首先显示 NULL 值,按降序排列,最后显示 NULL 值。
例如
SELECT * FROM customers ORDER BY city DESC;
在此示例中,结果集将根据城市列按降序排序。 NULL 值将显示在最后。
MS SQL Server 中的 Order by 子句是一个功能强大的工具,它允许我们根据一个或多个列以升序或降序对查询结果集进行排序。通过了解 Order by 子句的语法和用法,我们可以创建更复杂且更有意义的查询来从数据库中检索数据。
以上がMS SQL Serverでの並べ替えの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。