GROUP BY, ORDER BY, Alias

1. 통계

GROUP BYORDER BY는 주로 통계를 구할때 사용하며, 여기서 통계는 최대, 최소, 평균, 합계를 의미합니다. 이제부터 쿼리문이 길어지고, 복잡해지기 시작하는데 침착하게 쿼리문을 작성해보면 생각보다 어렵지 않다는 것을 느낄 수 있다고 생각합니다.

  • 여러 조건을 나타내는 쿼리문을 한 번에 작성한다. : ( X )
  • 조건을 하나씩 맞추어 쿼리문을 여러 차례 수정하면서 작성한다. : ( O )

2. GROUP BY

GROUP BY를 사용할 때에는 반드시 통계 방법을 명시하여야 합니다. 먼저, 테이블에서 A 필드의 개수를 구하는 쿼리문을 작성하면 다음과 같습니다.

-- COUNT는 개수를 파악하는 함수입니다.
SELECT COUNT(*) FROM TBL
GROUP BY A;

쿼리문을 아래와 같이 작성하면 GROUP BY와 같은 결과를 확인할 수 있습니다.

-- DISTINCT는 중복 제거 함수입니다.
SELECT COUNT(DISTINCT(A)) FROM TBL;

만약에 구하고자 하는 통계 방법을 명시하지 않고 아래와 같이 쿼리문을 작성하면 오류가 발생합니다.

-- 통계 방법이 없으므로 오류가 발생합니다.
SELECT * FROM TBL
GROUP BY A;

테이블에서 A 필드의 데이터를 기준으로, C 필드의 데이터 값이 50 이상인 행의 수를 구하면 다음과 같습니다.

SELECT A, COUNT(*) FROM TBL
WHERE C >= 50
GROUP BY A;

3. ORDER BY

ORDER BY는 조회한 데이터를 오름차순(ascending) 또는 내림차순(descending)으로 정렬할 때 사용합니다. 테이블에서 C 필드의 데이터를 각각 오름차순과 내림차순으로 정렬된 상태로 조회하면 다음과 같습니다.

-- 오름차순은 ASC 생략이 가능합니다.
SELECT * FROM TBL
ORDER BY C;

-- 내림차순은 반드시 DESC를 입력해주어야 합니다.
SELECT * FROM TBL
ORDER BY C DESC;

ORDER BYGROUP BY와 함께 자주 사용되며, 테이블의 A 필드의 행 수를 내림차순으로 정렬하면 다음과 같습니다.

SELECT A, COUNT(*) FROM TBL
GROUP BY A
ORDER BY COUNT(*) DESC;

4. Alias

Alias는 별칭이라고도 하며, 바로 위의 쿼리문과 같이 함수를 다시 호출해야 하는 상황이거나, 테이블 또는 필드명이 긴 경우에 별도의 이름을 붙여주기 위해 사용합니다. 먼저, 테이블의 A 필드의 행 수를 내림차순으로 정렬할 때, 행 수에 CNT 라는 별칭을 붙여주면 다음과 같습니다.

SELECT A, COUNT(*) as CNT FROM TBL
GROUP BY A
ORDER BY CNT DESC;

"" 개의 결과를 찾았습니다.

    ""에 대한 결과를 찾을 수 없습니다.