[SQL]-(006) 데이터를 정렬해서 출력하기
[Reference] 초보자를 위한 SQL 200제
[SQL 문법]
ORDER BY절을 추가하여 컬럼에 따라 데이터를 정렬할 수 있다.(asc 오름차순, desc 내림차순)
여러 칼럼에 대해서 정렬할 수도 있다.
먼저 작성된 칼럼에 대해 정렬하고, 다음 칼럼에 대해 정렬이 순서대로 진행된다.
SELECT ename, sal
FROM emp
ORDER BY sal asc
[예시]
# 오라클 연동 및 접속
import pandas as pd
import cx_Oracle
dsn=cx_Oracle.makedsn('localhost',1521,'orcl')
db=cx_Oracle.connect('scott','tiger')
cursor=db.cursor()
# SQL 문법
cursor.execute("""
SELECT ename, sal
FROM emp
ORDER BY sal asc
""")
row=cursor.fetchall()
colname=cursor.description
col=[]
for i in colname:
col.append(i[0])
# pandas를 사용한 데이터 프레임 형식으로 변환
emp=pd.DataFrame(row,columns=col)
print(emp)
[결과]
ENAME SAL
0 SMITH 800.0
1 JAMES 950.0
2 ADAMS 1100.0
3 WARD 1250.0
4 MARTIN 1250.0
5 MILLER 1300.0
6 TURNER 1500.0
7 ALLEN 1600.0
8 CLARK 2450.0
9 BLAKE 2850.0
10 JONES 2975.0
11 FORD 3000.0
12 SCOTT 3000.0
13 KING 5000.0
[복습] 2023-02-01
실행순서 = FROM > SELECT > ORDER BY
마지막에 실행되기 때문에 별칭 사용 가능
열마다 정렬방법 다르게 가능
SELECT ename, deptno, sal
FROM emp
ORDER BY deptno asc, sal desc
[결과]
ENAME DEPTNO SAL
0 KING 10.0 5000.0
1 CLARK 10.0 2450.0
2 MILLER 10.0 1300.0
3 FORD 20.0 3000.0
4 JONES 20.0 2975.0
5 ADAMS 20.0 1100.0
6 SMITH 20.0 800.0
7 BLAKE 30.0 2850.0
8 ALLEN 30.0 1600.0
Leave a comment