이번에는 프로그래머스 SQL 연습문제의 집계 함수와 IS NULL 파트를 간단하게 알아본다.
우선 문제의 정답은 아래와 같다.
문제는 이곳에서 확인하자
programmers.co.kr/learn/challenges
먼저 집계 함수부터 보면 SUM, MAX, MIN, COUNT, AVG가 있다. 말 그대로 합, 최대, 최소, 갯수, 평균을 구해준다.
SELECT 쿼리문에 사용하며 나중에 배울 GROUP 절에서 사용할 수 있다.
물론 이 집계 함수를 사용할때 테이블의 자료형을 보고 사용할 수 있도록 하자.
마지막 문제에 DISTINCT 라는 키워드가 있는데 이는 중복을 제거하는 키워드이다. 한 컬럼에 대해서 중복을 제거할 수 있다는 것을 알아두면 유용할 것이다.
다음은 NULL 데이터에 대한 처리를 하는 예제들이다.
데이터베이스에서 NULL은 아직 정의되지 않은 값이다!! 아주 중요하다. 연산이 불가능하며 필요에 따라 0 혹은 원하는 값으로 변경할 수 있어야 한다.
mysql에서는 CASE WHEN .... 구문, COALESCE, IFNULL 등이 있다. 여기서는 IFNULL만 간단하게 알아보자.
IFNULL은 해당 필드의 값이 NULL이 존재한다면 그 값을 원하는 값으로 바꿔준다.
IFNULL([필드명], 대체할 값) 으로 사용해주자.
마지막으로 SQL에서 NULL인지 아닌지 판단하기 위해 WHERE절을 사용하는데
위의 쿼리와 같이 [컬럼명] IS NULL, IS NOT NULL 을 사용하여 확인할 수 있다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] SQL 연습 -SELECT- (0) | 2020.12.01 |
---|