[네이버클라우드캠프] - SQL 개인공부 (그룹으로 묶어 질의)*

liho·2023년 7월 20일
0
post-thumbnail

각 지점별 강의실 수 구하기

  • 1단계: 강의실 목록 구하기
  • 2단계: 지점정보를 저장한 컬럼을 기준으로 그룹으로 묶는다. - ERROR | maria DB와 MySQL의 차이점을 확인
select
    r.rno, -- 그룹으로 묶인 경우 그 그룹의 첫 번째 데이터 값만 출력한다.
    r.loc,
    r.name -- 그룹으로 묶인 경우 그 그룹의 첫 번째 데이터 값만 출력한다.
from
    room r
group by
    r.loc;
  • 3단계: group by를 통해 데이터를 그룹으로 묶은 경우, 개별 항목의 값을 나타내는 컬럼의 값은 의미가 없기 때문에 제거한다.
  • 4단계: 그룹으로 묶은 경우 그룹 관련 함수를 사용할 수 있다.

  • 5단계:
    group by의 결과에서 최종 결과를 선택할 조건을 지정하고 싶다면 having절을 사용한다.

  • 예1) having 절에서 집합 함수 사용

  • 예2) having 절에서 group by 조건 컬럼 사용
  • 집합 함수, group by 조건 컬럼, select 절의 컬럼 사용 가능

  • 예3) having 절에서 select 절 컬럼 사용

  • 집합 함수, group by 조건 컬럼, select 절의 컬럼 사용 가능
  • 오류) select 절에 선언되지 않은 컬럼을 지정할 수 없다.
    - MySQL 8.x에서는 일반 컬럼을 지정할 수 없다.

실행 순서: from -> where -> group by -> select -> having -> order by

  • MySQL이 아닌 다른 DBMS에서 실행하여 실행 순서를 확인 할 필요 !

참고 ) https://soo-vely-dev.tistory.com/220

0개의 댓글