본문 바로가기

SQL

SQL [4] - Order by 정렬 문과 집합 연산자

1. Order by : 조회된 레코드를 기준으로 맞도록 정렬해줍니다. 

- 오름차순 (asc) : 작은 것부터 큰 것 순으로, 한글이나 알파벳은 처음부터 끝 순으로, 생략시 asc 인식

- 내림차순 (desc) : 큰 것부터 작은 순으로, 한글이나 알파벳은 끝에서 처음 순으로, desc를 꼭 붙여줘야 합니다.

*** SELECT 조회문에서 항상 맨 마지막으로 순서해야합니다.

 

Quiz. 학생의 이름, 키를 출력하고 키를 오름차순으로 출력하기

SELECT NAME, HEIGHT

FROM STUDENT

ORDER BY HEIGHT ASC (또는 생략 가능) ;

 

Quiz. 2학년 학생의 이름, 몸무게를 출력하고 몸무게를 내림차순으로 출력하기

SELECT NAME, WEIGHT

FROM STUDENT

WHERE GRADE = 2

ORDER BY WEIGHT DESC ;

 

2. 집합 연산자 : 두개의 쿼리의 결과를 합집합, 교집합, 차집합으로 조회할 수 있습니다. (유니온이 아닌 연산자들은 실제로 자주 사용하지 않기 때문에 예제는 패스합니다.)

***UNION : 합집합, 중복제거, 정렬됨 

UNION ALL : 합집합, 중복됨, 정렬안됨 / 단순합

INTERSECT : 교집합

MINUS : 차집합

 

(1) UNION : 1학년 학생의 이름 몸무게 쿼리와 2학년 학생의 이름 몸무게 쿼리를 합치고, 몸무게 내림차순으로 정렬하기

 

SELECT NAME, WEIGHT
FROM STUDENT
WHERE GRADE = 2
UNION
SELECT NAME, WEIGHT
FROM STUDENT
WHERE GRADE = 1
ORDER BY WEIGHT DESC ;