목차
Oracle ORDER BY子句的例子
Oracle ORDER BY 절의 예
데이터 베이스 Oracle Oracle에서 쿼리 결과를 정렬하는 방법

Oracle에서 쿼리 결과를 정렬하는 방법

Jan 13, 2022 am 11:33 AM
oracle

Oracle에서는 "SELECT" 문과 "ORDER BY" 절을 사용하여 하나의 열 또는 여러 열의 쿼리 결과 집합을 오름차순 또는 내림차순으로 정렬할 수 있습니다. 구문은 "SELECT 필드입니다. 이름 FROM 데이터 테이블 이름. ORDER BY 필드 이름 [ASC|DESC]".

Oracle에서 쿼리 결과를 정렬하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle에서는 "SELECT" 문과 "ORDER BY" 절을 사용하여 쿼리 정렬을 수행할 수 있습니다.

Oracle에서는 행이 데이터베이스에 삽입되는 순서와 관계없이 행 데이터 레코드가 지정되지 않은 순서로 테이블에 저장됩니다. 행 레코드를 열별로 오름차순 또는 내림차순으로 쿼리하려면 Oracle 데이터베이스에 정렬 방법을 명시적으로 지시해야 합니다.

예를 들어 모든 고객을 이름의 알파벳순으로 나열하거나 모든 고객을 낮은 신용 한도에서 높은 신용 한도 순으로 표시할 수 있습니다.

쿼리된 데이터를 정렬하려면 다음과 같이 SELECT 문에 ORDER BY 절을 추가하세요. ORDER BY子句添加到SELECT语句中。

ORDER BY子句可以按升序或降序对一列或多列的结果集进行排序。

语法:

SELECT
    字段名,
FROM
    table_name
ORDER BY
    字段名 [ASC | DESC] [NULLS FIRST | NULLS LAST]
로그인 후 복사

要按列排序结果集,可以在ORDER BY子句之后列出该列。

按照列名是一个排序顺序,可以是:

  • ASC 表示按升序排序

  • DESC 表示按降序排序

默认情况下,无论是否指定ASCORDER BY子句都按升序对行进行排序。如果要按降序对行进行排序,请明确使用DESC

NULLS FIRST在非NULL值之前放置NULL值,NULLS LAST在非NULL值之后放置NULL值。

ORDER BY子句可以按多列对数据进行排序,每列可能有不同的排序顺序。

请注意,ORDER BY子句总是SELECT语句中的最后一个子句。

Oracle ORDER BY子句的例子

下面将使用示例数据库中的customers表进行演示。

Oracle에서 쿼리 결과를 정렬하는 방법

以下语句从客户(customers)表中检索客户的:name, addresscredit limit

SELECT name, address, credit_limit FROM customers;
로그인 후 복사

执行上面查询语句,得到以下结果 -

Oracle에서 쿼리 결과를 정렬하는 방법

正如截图中所看到的,行记录的顺序是未指定的。

1、按列排序行示例

要按照字母顺序按升序排列客户名称,请使用以下语句:

SELECT name,address,credit_limit
FROM customers
ORDER BY name ASC;
로그인 후 복사

执行上面示例代码,得到以下结果 -

Oracle에서 쿼리 결과를 정렬하는 방법

ASC指示Oracle按升序对行进行排序。但是ASC是可选的,如果省略,则在默认情况下,ORDER BY子句按指定的列按升序对行进行排序。

因此,下面的表达式:

ORDER BY name ASC
로그인 후 복사

等效于 -

ORDER BY name
로그인 후 복사

要按字母顺序降序排列客户名称,请在ORDER BY子句中的列名之后显式使用DESC,如下所示:

SELECT name, address, credit_limit
FROM customers
ORDER BY name DESC;
로그인 후 복사

执行上面查询语句,得到以下结果 -

Oracle에서 쿼리 결과를 정렬하는 방법

2、按多个列排序行示例

要对多列进行排序,可以用逗号分隔ORDER BY子句中的每列。

请参阅示例数据库中的以下联系人(contacts)表。

例如,要按first_name进行按升序排序,并按降序对last_name列进行排序,请使用以下语句:

SELECT first_name, last_name
FROM contacts
ORDER BY first_name, last_name DESC;
로그인 후 복사

执行上面示例代码,可以看到如下结果 -

Oracle에서 쿼리 결과를 정렬하는 방법

从上面截图中可以看到,contact_id91311这两条记录的first_name的值相同,last_name的值是以降序来排列的。

在这个例子中,Oracle首先按first_name升序对行进行排序,以创建初始结果集。 然后Oracle按降序对last_name

ORDER BY 절은 하나 이상의 열의 결과 집합을 오름차순 또는 내림차순으로 정렬할 수 있습니다.

구문: ​​

SELECT name, credit_limit,address
FROM customers
ORDER BY 2 DESC, 1;
로그인 후 복사
로그인 후 복사
Oracle에서 쿼리 결과를 정렬하는 방법열을 기준으로 결과 집합을 정렬하려면 ORDER BY 절 뒤에 열을 나열하면 됩니다.

열 이름에 따른 정렬 순서입니다.

  • 🎜ASC는 오름차순 정렬을 의미합니다. 🎜
  • 🎜DESC는 내림차순 정렬을 의미합니다🎜
🎜기본적으로 ASC 지정 여부에 관계없이 < code>ORDER BY 절은 모두 행을 오름차순으로 정렬합니다. 행을 내림차순으로 정렬하려면 DESC를 명시적으로 사용하세요.
🎜🎜NULLS FIRSTNULL 값을 NULL이 아닌 값 앞에 배치하고 NULLS LAST 앞에 배치합니다. non-< code>NULL 값 뒤에 NULL 값을 입력하세요. 🎜🎜 ORDER BY 절은 여러 열을 기준으로 데이터를 정렬할 수 있으며, 각 열은 서로 다른 정렬 순서를 가질 수 있습니다. 🎜🎜 ORDER BY 절은 항상 SELECT 문의 마지막 절이라는 점에 유의하세요. 🎜

Oracle ORDER BY 절의 예

🎜다음은 데모용 샘플 데이터베이스의 customers 테이블을 사용합니다. 🎜🎜Oracle에서 쿼리 결과를 정렬하는 방법🎜🎜The 다음 문은 고객(고객) 테이블에서 고객의 이름, 주소신용 한도를 검색합니다. 🎜
SELECT name, credit_limit,address
FROM customers
ORDER BY credit_limit DESC, name;
로그인 후 복사
로그인 후 복사
🎜 위 쿼리문을 실행하면 다음과 같은 결과가 나옵니다-🎜🎜 Oracle에서 쿼리 결과를 정렬하는 방법🎜🎜스크린샷에서 볼 수 있듯이 행 레코드의 순서는 지정되지 않습니다. 🎜🎜1. 행을 열별로 정렬하는 예🎜🎜고객 이름을 알파벳순으로 오름차순으로 정렬하려면 다음 명령문을 사용하세요. 🎜
SELECT country_id, city, state
FROM locations 
ORDER BY state DESC;
로그인 후 복사
로그인 후 복사
🎜위 예제 코드를 실행하면 다음과 같은 결과가 나옵니다-🎜🎜Oracle에서 쿼리 결과를 정렬하는 방법🎜🎜ASC는 Oracle에 행을 오름차순으로 정렬하도록 지시합니다. 그러나 ASC는 선택 사항이며 생략할 경우 기본적으로 ORDER BY 절은 지정된 열을 기준으로 오름차순으로 행을 정렬합니다. 🎜🎜따라서 다음 표현식: 🎜
SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS FIRST;
로그인 후 복사
로그인 후 복사
🎜은 -🎜
SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS LAST;
로그인 후 복사
로그인 후 복사
🎜와 동일합니다. 고객 이름을 알파벳 내림차순으로 정렬하려면 ORDER BY 절 code>에서 열 이름 뒤에 를 명시적으로 사용합니다. DESC, 아래와 같이: 🎜
SELECT customer_id, name
FROM customers
ORDER BY UPPER( name );
로그인 후 복사
로그인 후 복사
🎜위 쿼리문을 실행하면 다음과 같은 결과를 얻습니다.🎜🎜Oracle에서 쿼리 결과를 정렬하는 방법🎜🎜2. 행을 여러 열로 정렬하는 예🎜🎜여러 열을 정렬하려면 ORDER BY 절의 각 열을 쉼표로 구분하면 됩니다. 🎜🎜샘플 데이터베이스에서 다음 연락처(연락처) 테이블을 참조하세요. 🎜🎜예를 들어 first_name을 기준으로 오름차순으로 정렬하고 last_name 열을 내림차순으로 정렬하려면 다음 문을 사용하세요. 🎜rrreee🎜위의 예제 코드를 실행하면 다음과 같은 작업을 수행할 수 있습니다. 다음 결과 얻기-🎜🎜를 참조하세요.Oracle에서 쿼리 결과를 정렬하는 방법 🎜🎜위 스크린샷에서 볼 수 있듯이 contact_id는 두 레코드 91311<의 <code>first_name입니다. /code> 값은 동일하며, last_name 값이 내림차순으로 정렬되어 있습니다. 🎜🎜이 예에서 Oracle은 먼저 first_name을 기준으로 행을 오름차순으로 정렬하여 초기 결과 집합을 생성합니다. 그런 다음 Oracle은 last_name의 초기 결과 집합을 내림차순으로 정렬합니다. 🎜🎜아래와 유사한 결과 보기: 🎜🎜🎜🎜🎜위 결과에서: 🎜
  • 首先,按first_name升序排序。
  • 其次,如果两个名字相同,按last_name降序排列,如Daniel GlassDaniel CostnerDianne SenDianne DerekDoretha TylerDorotha Wong

3、按列位置排序行示例

不需要指定用于排序数据的列名称。如果您愿意,可以使用ORDER BY子句中列的位置。

请参考下语句 -

SELECT name, credit_limit,address
FROM customers
ORDER BY 2 DESC, 1;
로그인 후 복사
로그인 후 복사

在这个例子中,name列的位置是1credit_limit列的位置是2。相当于以下查询语句 -

SELECT name, credit_limit,address
FROM customers
ORDER BY credit_limit DESC, name;
로그인 후 복사
로그인 후 복사

ORDER BY子句中,使用这些列位置来指示Oracle对行进行排序。

4、用NULL值排序行的示例

请参阅示例数据库中的以下地区(locations)表:

Oracle에서 쿼리 결과를 정렬하는 방법

以下语句按城市(city)和州(state)检索位置并对其进行排序:

SELECT country_id, city, state
FROM locations 
ORDER BY state DESC;
로그인 후 복사
로그인 후 복사

执行上面查询语句,得到以下结果 -

Oracle에서 쿼리 결과를 정렬하는 방법

state列有NULL值,这意味着state数据与某些城市(例如:Beijing, HiroshimaLondon)无关。

当使用非NULL值对混合NULL进行排序时,Oracle允许指定哪个应该首先出现。

例如,以下语句按升序对state列进行排序,并首先将NULL值放置在前面。

SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS FIRST;
로그인 후 복사
로그인 후 복사

要放置NULL值在后面,可以使用NULLS LAST,如下面的语句所示:

SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS LAST;
로그인 후 복사
로그인 후 복사

执行上面示例查询语句,得到以下结果:

Oracle에서 쿼리 결과를 정렬하는 방법

5、按函数或表达式排序数据

ORDER BY子句可在一列上应用一个函数,例如字符串函数,数学函数等,并按函数的结果对数据进行排序。

例如,以下语句使用ORDER BY子句中的UPPER()函数来区分客户名称的大小写:

SELECT customer_id, name
FROM customers
ORDER BY UPPER( name );
로그인 후 복사
로그인 후 복사

执行上面查询语句,得到以下结果 -

Oracle에서 쿼리 결과를 정렬하는 방법

推荐教程:《Oracle教程

위 내용은 Oracle에서 쿼리 결과를 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

오라클을 열 수 없다면해야 할 일 오라클을 열 수 없다면해야 할 일 Apr 11, 2025 pm 10:06 PM

Oracle에 대한 솔루션은 개설 할 수 없습니다. 1. 데이터베이스 서비스 시작; 2. 청취자를 시작하십시오. 3. 포트 충돌을 확인하십시오. 4. 환경 변수를 올바르게 설정하십시오. 5. 방화벽이나 바이러스 백신 소프트웨어가 연결을 차단하지 않도록하십시오. 6. 서버가 닫혀 있는지 확인하십시오. 7. RMAN을 사용하여 손상된 파일을 복구하십시오. 8. TNS 서비스 이름이 올바른지 확인하십시오. 9. 네트워크 연결 확인; 10. Oracle 소프트웨어를 다시 설치하십시오.

Oracle Cursor를 닫는 문제를 해결하는 방법 Oracle Cursor를 닫는 문제를 해결하는 방법 Apr 11, 2025 pm 10:18 PM

Oracle Cursor Closure 문제를 해결하는 방법에는 다음이 포함됩니다. Close 문을 사용하여 커서를 명시 적으로 닫습니다. For Update 절에서 커서를 선언하여 범위가 종료 된 후 자동으로 닫히십시오. 연관된 PL/SQL 변수가 닫히면 자동으로 닫히도록 사용 절에서 커서를 선언하십시오. 예외 처리를 사용하여 예외 상황에서 커서가 닫혀 있는지 확인하십시오. 연결 풀을 사용하여 커서를 자동으로 닫습니다. 자동 제출을 비활성화하고 커서 닫기를 지연시킵니다.

Oracle Loop에서 커서를 만드는 방법 Oracle Loop에서 커서를 만드는 방법 Apr 12, 2025 am 06:18 AM

Oracle에서 FOR 루프 루프는 커서를 동적으로 생성 할 수 있습니다. 단계는 다음과 같습니다. 1. 커서 유형을 정의합니다. 2. 루프를 만듭니다. 3. 커서를 동적으로 만듭니다. 4. 커서를 실행하십시오. 5. 커서를 닫습니다. 예 : 커서는 상위 10 명의 직원의 이름과 급여를 표시하기 위해주기별로 만들 수 있습니다.

Oracle 데이터베이스를 이끄는 방법 Oracle 데이터베이스를 이끄는 방법 Apr 11, 2025 pm 08:42 PM

Oracle 데이터베이스 페이징은 rownum pseudo-columns 또는 fetch 문을 사용하여 구현합니다. Fetch 문은 지정된 첫 번째 행 수를 얻는 데 사용되며 간단한 쿼리에 적합합니다.

Oracle 데이터베이스를 중지하는 방법 Oracle 데이터베이스를 중지하는 방법 Apr 12, 2025 am 06:12 AM

Oracle 데이터베이스를 중지하려면 다음 단계를 수행하십시오. 1. 데이터베이스에 연결하십시오. 2. 즉시 종료; 3. 셧다운은 완전히 중단됩니다.

HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? Apr 14, 2025 pm 06:42 PM

Centos 시스템에서 Hadoop 분산 파일 시스템 (HDF)을 구축하려면 여러 단계가 필요합니다. 이 기사는 간단한 구성 안내서를 제공합니다. 1. 초기 단계에서 JDK를 설치할 준비 : 모든 노드에 JavadevelopmentKit (JDK)을 설치하면 버전이 Hadoop과 호환되어야합니다. 설치 패키지는 Oracle 공식 웹 사이트에서 다운로드 할 수 있습니다. 환경 변수 구성 : /etc /프로파일 파일 편집, Java 및 Hadoop 설정 설정 시스템에서 JDK 및 Hadoop의 설치 경로를 찾을 수 있습니다. 2. 보안 구성 : SSH 비밀번호가없는 로그인 SSH 키 : 각 노드에서 ssh-keygen 명령을 사용하십시오.

Oracle Dynamic SQL을 만드는 방법 Oracle Dynamic SQL을 만드는 방법 Apr 12, 2025 am 06:06 AM

SQL 문은 Oracle의 동적 SQL을 사용하여 런타임 입력을 기반으로 작성 및 실행할 수 있습니다. 단계에는 다음이 포함됩니다 : 동적으로 생성 된 SQL 문을 저장할 빈 문자열 변수 준비. 즉시 실행 또는 준비 명령문을 사용하여 동적 SQL 문을 컴파일하고 실행하십시오. 바인드 변수를 사용하여 사용자 입력 또는 기타 동적 값을 동적 SQL로 전달하십시오. 동적 SQL 문을 실행하려면 즉시 실행 또는 실행을 사용하십시오.

Oracle에서 Barbled 코드를 해결하는 방법 Oracle에서 Barbled 코드를 해결하는 방법 Apr 11, 2025 pm 10:09 PM

데이터베이스 문자 세트를 확인하여 데이터와 일치하는지 확인하여 Oracle Garbled 문제를 해결할 수 있습니다. 클라이언트 문자 세트를 데이터베이스와 일치하도록 설정하십시오. 데이터베이스 문자 세트와 일치하도록 데이터 변환 또는 열 문자 세트를 수정하십시오. 유니 코드 문자 세트를 사용하고 멀티 바이트 문자 세트를 피하십시오. 데이터베이스 및 클라이언트의 언어 설정이 올바른지 확인하십시오.

See all articles