Heim > Datenbank > MySQL-Tutorial > Sortieren nach in MS SQL Server

Sortieren nach in MS SQL Server

WBOY
Freigeben: 2023-09-17 16:53:04
nach vorne
1063 Leute haben es durchsucht

MS SQL Server 中的排序依据

Order by ist eine Klausel in SQL. Es wird verwendet, um die Ergebnismenge einer Abfrage in aufsteigender oder absteigender Reihenfolge zu sortieren. Es kann nach einer oder mehreren Spalten sortiert werden. In diesem Artikel besprechen wir die Order by-Klausel in MS SQL Server.

Grammatik

Die Syntax für die Verwendung der Order by-Klausel in MS SQL Server lautet wie folgt -

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
Nach dem Login kopieren

Grammatikerklärung

  • SELECT Spalte1, Spalte2, ...: Geben Sie die Spalten an, die wir aus der Tabelle abrufen möchten.

  • FROM Tabellenname: Geben Sie den Namen der Tabelle an, aus der wir Daten abrufen möchten.

  • ORDER BY Spalte1 [ASC|DESC], Spalte2 [ASC|DESC], ...: Sortiert die Ergebnismenge in aufsteigender oder absteigender Reihenfolge entsprechend der angegebenen Spalte.

Aufsteigende Sortierung

Standardmäßig sortiert die Order by-Klausel die Ergebnismenge in aufsteigender Reihenfolge. Um die Ergebnismenge in aufsteigender Reihenfolge zu sortieren, müssen wir das Schlüsselwort ASC nicht explizit angeben.

Beispiel 1

SELECT * FROM customers
ORDER BY customer_name;
Nach dem Login kopieren

In diesem Beispiel wird die Ergebnismenge in aufsteigender Reihenfolge basierend auf der Spalte „customer_name“ sortiert.

Beispiel 2

Angenommen, wir haben eine Tabelle mit dem Namen „Mitarbeiter“, die die folgenden Spalten und Daten enthält –

Mitarbeiter-ID

Name des Mitarbeiters

Abteilung

Gehalt

1

John

IT

50000

2

Jane

VERKAUF

45000

3

Bob

ES

55000

4

Alice

Personalwesen

40000

5

Tom

Personalwesen

42000

Wenn wir alle Daten aus der Tabelle „Mitarbeiter“ abrufen und in aufsteigender Reihenfolge nach der Gehaltsspalte sortieren möchten, lautet die SQL-Abfrage -

SELECT * FROM Employees
ORDER BY Salary;
Nach dem Login kopieren

Die Ausgabe der obigen Abfrage ist -

Mitarbeiter-ID

Name des Mitarbeiters

Abteilung

Gehalt

4

Alice

Personalwesen

40000

5

Tom

Personalwesen

42000

2

Jane

VERKAUF

45000

1

John

IT

50000

3

Bob

ES

55000

In absteigender Reihenfolge sortieren

Um die Ergebnismenge in absteigender Reihenfolge zu sortieren, müssen wir nach dem Spaltennamen das Schlüsselwort DESC angeben.

Beispiel 1

SELECT * FROM customers
ORDER BY customer_name DESC;
Nach dem Login kopieren

In diesem Beispiel wird die Ergebnismenge in absteigender Reihenfolge basierend auf der Spalte „customer_name“ sortiert.

Beispiel 2

Wenn wir alle Daten aus der Mitarbeitertabelle abrufen und in absteigender Reihenfolge nach Abteilungsspalte sortieren möchten, lautet die SQL-Abfrage -

SELECT * FROM Employees
ORDER BY Department DESC;
Nach dem Login kopieren
Nach dem Login kopieren

Die Ausgabe der obigen Abfrage ist

Mitarbeiter-ID

Name des Mitarbeiters

Abteilung

Gehalt

2

Jane

VERKAUF

45000

1

John

IT

50000

3

Bob

IT

55000

5

Tom

Personalwesen

42000

4

Alice

Personalwesen

40000

按多列排序

我们还可以按多列对结果集进行排序。在本例中,Order by 子句首先根据第一列对结果集进行排序,然后根据第二列对结果集进行排序。

示例 1

SELECT * FROM customers
ORDER BY country, customer_name;
Nach dem Login kopieren
Nach dem Login kopieren

在此示例中,结果集将根据国家/地区列按升序排序。如果两行或多行具有相同的国家/地区,则这些行将根据 customer_name 列按升序排序。

示例 2

如果我们想从Employees表中检索所有数据,并首先按Department列升序排序,然后按Salary列升序排序,SQL查询将是 -

SELECT * FROM Employees
ORDER BY Department DESC;
Nach dem Login kopieren
Nach dem Login kopieren

上述查询的输出为

员工ID

员工姓名

部门

薪资

2

销售

45000

1

约翰

IT

50000

3

鲍勃

IT

55000

5

汤姆

人力资源

42000

4

爱丽丝

人力资源

40000

按多列排序

我们还可以按多列对结果集进行排序。在本例中,Order by 子句首先根据第一列对结果集进行排序,然后根据第二列对结果集进行排序。

示例 1

SELECT * FROM customers
ORDER BY country, customer_name;
Nach dem Login kopieren
Nach dem Login kopieren

在此示例中,结果集将根据国家/地区列按升序排序。如果两行或多行具有相同的国家/地区,则这些行将根据 customer_name 列按升序排序。

示例 2

如果我们想要从Employees表中检索所有数据,并首先按Department列升序排序,然后按Salary列升序排序,那么SQL查询将是

SELECT * FROM Employees
ORDER BY Department ASC, Salary ASC;
Nach dem Login kopieren

上述查询的输出为

员工ID

员工姓名

部门

薪资

4

爱丽丝

人力资源

40000

5

汤姆

人力资源

42000

1

约翰

IT

50000

3

鲍勃

IT

55000

2

销售

45000

这些示例演示了如何使用 Order by 子句对 MS SQL Server 中的查询结果集进行排序。

使用 NULL 值排序

当我们使用 Order by 子句时,NULL 值的排序方式有所不同,具体取决于我们是按升序还是降序排序。按升序排列,首先显示 NULL 值,按降序排列,最后显示 NULL 值。

例如

SELECT * FROM customers
ORDER BY city DESC;
Nach dem Login kopieren

在此示例中,结果集将根据城市列按降序排序。 NULL 值将显示在最后。

结论

MS SQL Server 中的 Order by 子句是一个功能强大的工具,它允许我们根据一个或多个列以升序或降序对查询结果集进行排序。通过了解 Order by 子句的语法和用法,我们可以创建更复杂且更有意义的查询来从数据库中检索数据。

Das obige ist der detaillierte Inhalt vonSortieren nach in MS SQL Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage