미래를 예측하는 데이터분석가

[인프런] BigQuery (SQL) 입문 #2-(1) 데이터 탐색 - 조건, 추출, 요약 본문

시스템 & 데이터베이스/SQL

[인프런] BigQuery (SQL) 입문 #2-(1) 데이터 탐색 - 조건, 추출, 요약

잘하다연 2024. 12. 5. 22:49

 

오늘의 강의를 들으며..

우선 SQL을 프로그래머스 LV3,4까지 풀었던 나였어서 오랜만에 SQL 다시 한 것이지만 입문은 다 아는 내용이지 않을까? 라는 의문이 있었다. 그러나 실무에 유용하게 쓰이는 함수와 단계적으로 생각하는 팁을 배울 수 있어 너무 좋다. 특히, 문법적으로 잘 활용되는 함수나 더 쉽게 코드를 짜는 법을 알려주어 구조적인 쿼리를 짜는데 도움이 될 것 같다. 

 

다시금 DISTINCT 함수

오랜만에 DISTINCT함수의 존재를 다시금 확인했다. 파이썬을 이용하며 생각하긴 했지만 잊고 있었는데 중복된 데이터나 Unique한 값만 추출하고 싶을 때 자주 사용할 것 같다. 

 

COUNT, COUNTIF 어서와 

실제로 COUNT는 많이 사용했지만 COUNTIF는 자주 생각하지 않았는데 SELECT문이나 GROUP BY랑 어떻게 연결해서 쓰는지를 매우 효율적으로 배울 수 있었다. 강사님의 강의력이 너무 좋았고, 실제로 많은 관심이 있었던 분이라 다른 강의도 듣고 싶게 만드셨다! 이 것에 대해서는 또 포스트를 해볼까 한다 ~!

 

보통 WHERE 절을 걸어 조건을 불러왔다면 SELECT문에서 COUNTIF(조건)한 값의 합을 한 번에 불러올 수 있는 방법도 고려해봐야겠다. 조건에 대한 합계를 구하는데 필수적이다. 

 

WHERE, HAVING의 차이

처음 SQL을 공부할 때 이 둘의 차이가 헷갈렸던 때가 있었다. WHERE는 Table에서 바로 조건을 설정하고 HAVING은 GROUP BY한 후의 Table에 조건을 설정할 때 사용한다. 다시금 각인 시키게 된 계기가 되었다. 

 

같이 사용하고 싶다면 WHERE다음에 GROUP BY HAVING순으로 사용할 수도 있고, GROUP BY HAVING 절을 서브쿼리로 만들고 WHERE 절을 본 쿼리에 적용할 수도 있다. 하지만 HAVING을 바로 사용하는 것이 직관적이라 하셨다. 

 

COUNTIF, GROUP BY,  HAVING 사용한 SQL 예시

실제로 해당 예시를 보고 GROUP BY HAVING COUNTIF 절을 잘 활용한 예시로 구조를 잘 기억하고 잘 응용해봐야겠다.