CoWithMe

TIL 20240525 알고리즘 SQL

이영훈닷컴 2024. 5. 25. 09:24
728x90

두 수의 합

동명 동물 수 찾기

오늘의 학습 내용

  • SQL 쿼리 작성 및 데이터 집계
  • SQL의 GROUP BY와 HAVING 절 활용법

학습한 내용에서의 발견

  • GROUP BY 절을 사용하면 동일한 값들을 그룹화하여 집계할 수 있다.
  • HAVING 절을 통해 그룹화된 데이터에 추가적인 조건을 걸 수 있다.

어려웠던 점

  • SQL 쿼리에서 NULL 값을 제외하고 집계하는 방법을 이해하는 것.
  • 데이터베이스에서 COUNT 함수를 사용할 때의 성능 이슈.

해결 방법

  • SQL 쿼리 작성 시 WHERE 절을 사용하여 NULL 값을 제외하고, HAVING 절을 통해 조건을 추가하여 해결.
  • 인덱스를 추가하여 COUNT 함수의 성능을 개선하는 방법을 학습.

내일의 학습 목표

  • SQL에서 JOIN과 서브쿼리 활용하여 데이터 조회 및 분석
  • 더 복잡한 SQL 쿼리 작성 연습

SQL 쿼리 설명:

  • SELECT NAME, COUNT(NAME) AS COUNT: 각 동물의 이름과 해당 이름의 수를 선택
  • FROM ANIMAL_INS: ANIMAL_INS 테이블에서 데이터
  • WHERE NAME IS NOT NULL: 이름이 NULL이 아닌 행만 선택
  • GROUP BY NAME: 이름별로 그룹화
  • HAVING COUNT(NAME) >= 2: 그룹화된 이름 중 동일한 이름이 두 번 이상 등장하는 그룹만 선택
  • ORDER BY NAME: 결과를 이름 순으로 정렬
728x90