손에 잡히는 10분 SQL 3장 참고
정렬하지 않는다면 데이터가 테이블에 삽입되거나 업데이트 되는 순서대로 출력된다.
SQL에서는 ORDER BY
절을 통해 결과를 정렬한다.
SELECT PROD_NAME
FROM PRODUCTS
ORDER BY PROD_NAME;
ORDER BY
는 SELECT 문의 가장 마지막에 와야 한다.- 위의 쿼리는 SELECT절에서 가져온 열로 정렬했지만 그렇지 않은 열로도 정렬할 수 있다.
여러 열 정렬
정렬 우선순위는 열을 적은 순서대로이다.
SELECT PROD_ID ,PROD_NAME, PROD_PRICE
FROM PRODUCTS
ORDER BY PROD_NAME, PROD_PRICE;
SELECT PROD_ID ,PROD_NAME, PROD_PRICE
FROM PRODUCTS
ORDER BY 2,3;
- 위의 쿼리의 경우 PROD_NAME을 우선으로 그 다음 PROD_PRICE를 기준으로 정렬된다.
- 2라는 SELECT 절의 2번 째 열이라는 뜻이다. 그래서 위 아래 두 쿼리의 결과는 같다.
- 숫자와 열 이름을 혼용해도 된다.
정렬 순서 지정
SELECT PROD_ID ,PROD_NAME, PROD_PRICE
FROM PRODUCTS
ORDER BY PROD_PRICE DESC, PROD_NAME;
- 기본적으로 오름차순(ASC)으로 설정되어 있다.
- 그래서 명시하지 않으면 오름차순으로 정렬된다.
- 내림차순은 DESC로 명시해줘야 한다.
Oracle에서 대문자와 소문자의 우선순위
CREATE TABLE C
(
cust_id char(10) NOT NULL ,
cust_name char(50) NOT NULL
);
INSERT INTO C(cust_id, cust_name)
VALUES('1000000001', 'Village Toys');
INSERT INTO C(cust_id, cust_name)
VALUES('1000000001', 'village Toys');
select * from c
order by cust_name desc;
- 이로써 소문자가 더 낮은 우선순위 임을 알 수 있었다.
'Database > SQL' 카테고리의 다른 글
[코테를 위한 Oracle 정리] 5. 데이터 조작 : 내장 함수 (0) | 2024.08.01 |
---|---|
[코테를 위한 Oracle 정리] 4. 열 계산 및 연결하기 (0) | 2024.07.31 |
[코테를 위한 Oracle 정리] 3. 필터링 : WHERE (0) | 2024.07.29 |
[코테를 위한 Oracle 정리] 1. Database 개념과 SELECT (0) | 2024.07.28 |
SQL 코딩테스트 대비 (Oracle) 정리 (0) | 2024.07.28 |