>  기사  >  데이터 베이스  >  MS SQL Server에서 정렬 기준

MS SQL Server에서 정렬 기준

WBOY
WBOY앞으로
2023-09-17 16:53:04995검색

MS SQL Server 中的排序依据

Order by는 SQL의 절입니다. 쿼리 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다. 하나 이상의 열을 사용하여 정렬할 수 있습니다. 이 기사에서는 MS SQL Server의 Order by 절에 대해 설명합니다.

문법

MS SQL Server에서 Order by 절을 사용하는 구문은 다음과 같습니다. -

으아아아

문법 설명

  • SELECT 컬럼1, 컬럼2, ...: 테이블에서 검색하려는 열을 지정합니다.

  • FROM table_name: 데이터를 검색하려는 테이블의 이름을 지정합니다.

  • ORDER BY 컬럼1 [ASC|DESC], 컬럼2 [ASC|DESC], ...: 지정된 열에 따라 결과 집합을 오름차순 또는 내림차순으로 정렬합니다.

오름차순 정렬

기본적으로 Order by 절은 결과 집합을 오름차순으로 정렬합니다. 결과 집합을 오름차순으로 정렬하려면 ASC 키워드를 명시적으로 지정할 필요가 없습니다.

예 1

으아아아

이 예에서는 결과 집합이 customer_name 열을 기준으로 오름차순으로 정렬됩니다.

예 2

다음 열과 데이터를 포함하는 "Employees"라는 테이블이 있다고 가정합니다.

사원ID

직원 이름

부서

급여

1

IT

50000

2

제인

판매

45000

3

IT

55000

4

앨리스

인사

40000

5

인적 자원

42000

Employees 테이블에서 모든 데이터를 검색하고 Salary 열을 기준으로 오름차순으로 정렬하려는 경우 SQL 쿼리는 -

입니다. 으아아아

위 쿼리의 출력은 -

입니다.

사원ID

직원 이름

부서

급여

4

앨리스

인사

40000

5

인사

42000

2

제인

판매

45000

1

IT

50000

3

IT

55000

내림차순 정렬

결과 세트를 내림차순으로 정렬하려면 열 이름 뒤에 DESC 키워드를 지정해야 합니다.

예 1

으아아아

이 예에서는 결과 집합이 customer_name 열을 기준으로 내림차순으로 정렬됩니다.

예 2

직원 테이블에서 모든 데이터를 검색하고 부서 열을 기준으로 내림차순으로 정렬하려는 경우 SQL 쿼리는 -

입니다. 으아아아

위 쿼리의 결과는

사원ID

직원 이름

부서

급여

2

제인

판매

45000

1

IT

50000

3

IT

55000

5

인적 자원

42000

4

앨리스

인사

40000

按多列排序

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

示例 1

SELECT * FROM customers
ORDER BY country, customer_name;

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

示例 2

如果我们想从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 子句首先根据第一列对结果集进行排序,然后根据第二列对结果集进行排序。

示例 1

SELECT * FROM customers
ORDER BY country, customer_name;

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

示例 2

如果我们想要从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 中的查询结果集进行排序。

使用 NULL 值排序

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

例如

SELECT * FROM customers
ORDER BY city DESC;

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

结论

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

위 내용은 MS SQL Server에서 정렬 기준의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제