<SQL - 0003> group by, order by, alias

개발일지·2023년 3월 1일
0

SQL

목록 보기
3/5
post-thumbnail


GROUP BY

데이터베이스에서 특정 열을 기준으로 데이터를 그룹화하여 각 그룹의 집계 함수(aggregate function) 를 계산할 수 있으며, 통계 정보를 추출할 때 사용된다.
SELECT 문장의 마지막 부분에 위치하며, 그룹화하려는 필드 이름을 지정한다.


GROUP BY 의 기본 문법

SELECT column_name(s)
FROM table_name
GROUP BY column_name(s);

데이터를 원하는 기준에 따라 묶어서 보여줄 수 있다.
이는 데이터의 구성 요소를 파악하거나, 그룹 간의 차이점을 비교하는 데 유용하다.

또한, MIN, MAX, AVG, ROUND 등의 함수를 사용하여 필드의 최소값, 최대값, 평균값 등을 계산할 수 있다.

  • MIN : 주어진 열에서의 최소값.
    주로 숫자열에 대해 사용되지만, 날짜 등의 데이터 타입에서도 사용될 수 있다.
SELECT MIN(column_name) FROM table_name
WHERE condition;

  • MAX : 주어진 열에서의 최대값.
    MIN 과 마찬가지로 숫자열에 대해 사용되지만, 다른 데이터 타입에서도 사용될 수 있다.
SELECT MAX(column_name) FROM table_name
WHERE condition;

  • AVG, : 주어진 열의 평균값.
    주로 숫자열에 대해 사용된다.
SELECT AVG(column_name) FROM table_name
WHERE condition;

  • ROUND : 주어진 수를 반올림.
    첫 번째 인수(column_name) 로는 함수를 적용할 열 이름(수)를,
    두 번째 인수(num_of_decimals) 로는 ROUND 함수에서 선택적으로 지정할 수 있는
    반올림할 소수점 자릿수(0, 1, 2, ...) 다.
    WHERE 절은 선택적으로 사용할 수 있으며, 조건에 해당하는 행만 처리된다.
SELECT ROUND(column_name, num_of_dicimals) FROM table_name
WHERE condition;

위의 함수들은 모두 데이터 집합에서 원하는 값을 계산하여 반환하기 때문에,
주로 GROUP BY 와 함께 사용할 때 가장 유용하며, 특정 조건에 따라 그룹화된 데이터에서 통계값을 구하는 데 활용된다.

또, 데이터의 합을 계산하는 SUM 함수나, 집계값을 오름차순이나 내림차순으로 정렬하는 ORDER BY 를 활용할 수도 있다. 이를 통해 데이터의 특성을 더욱 자세히 파악할 수 있다.



ORDER BY

결과 집합을 정렬하는 데 사용된다. ORDER BYSELECT 또는 서브쿼리(subquery) 에 적용될 수 있으며, 집계값을 오름차순이나 내림차순으로 정렬할 수 있다.


SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC;
기본적으로 오름차순(ascending)으로 정렬되며, 이에따라 생략할 수 있다. 만약 내림차순(Descending)으로 정렬하려면 DESC 키워드를 추가하면 된다.

최종적으로, 위와같은 SQL 집계 함수들은 데이터 분석에 있어서 필수적인 도구다.
이러한 함수들을 활용하여 데이터의 특성을 파악하고, 의미 있는 정보를 도출하는 데 성공할 수 있다.



ALIAS

별칭(Alias)SQL 에서 열이나 테이블에 대해 원래의 이름 대신 새로운 이름을 부여하여 쉽게 바꿀 수 있으며, 복잡한 문장의 길이를 쉽게 읽을 수 있게 직관적인 코드로 작성할 수 있도록 줄일 수 있고 결과의 가독성을 높이는 등 다양한 용도로 사용될 수 있다.


일반적으로 AS 키워드를 사용한다.

SELECT column_name AS alias_name FROM table_name
SELECT apple AS a, banana AS b FROM fruit
table_name 테이블에서 모든 행들의 column_name 열 값들을 alias_name 으로 출력한다.
따라서, fruit 테이블의 appleabananab 로 출력된다.

별칭은 테이블 이름이 너무 길거나, 여러 테이블을 JOIN 하는 경우에 특히 유용하다.



profile
아닐지

0개의 댓글