알고리즘/프로그래머스

[프로그래머스] SQL 연습 -SUM,MIN,MAX,IS NULL-

vhxpffltm 2020. 12. 2. 22:06

이번에는 프로그래머스 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