[241007] SQL 스터디

JunichiK·2024년 10월 7일

SQL 스터디

목록 보기
12/21

코드 카타

문제 & 제출 답안

강의 스터디

수강할 강의

스터디를 진행할 강의를 링크해주세요.

[SQL] 예제로 익히는 SQL - 3회차

강의에서 필수 사용되는 문법 요약

강의에서 필수로 사용되는 문법에 대한 개념을 요약해주세요.

  1. Having ≠ Where

    • Having 절은 Group by 에 의한 결과 필터링
    • Where 절은 Group by 이전에 데이터 필터링
    • 1️⃣ 나이가 31세 이상이고,
    • 2️⃣성별을 기준으로 평균 나이를 구하고,
    • 3️⃣ 평균 나이가 41초과인 경우
    # 집계함수, GROUP BY절, HAVING을 함께 사용하는 SQL문 - 실습
    select 성별, avg(나이)as avg_age 2️⃣
    from basic.theglory 
    where 나이>=311️⃣
    group by 성별 2️⃣
    having AVG_AGE>41 3️⃣

  1. 중첩(일반) 서브쿼리

    • Where 절
      # 중첩 서브쿼리 실습
      # 문동은의 나이보다 나이가 많은 모든 데이터 반환하기
      select *
      from basic.theglory 
      where 나이 > (select 나이 from basic.theglory where 이름='문동은')
      ;
  2. 스칼라 서브쿼리

    • Select 절
      # 중첩 서브쿼리 실습
      # theglory 의 이름과 theglory2 테이블의 이름이 일치하는 경우를 count 하여 
      # same_name_cnt 컬럼으로 반환
      # theglory 의 이름과 theglory 테이블의 이름이 일치하는 경우의 결제금액을 sum 하여 
      # same_name_sumamount 컬럼으로 반환
      select 이름
      , 나이
      , (select count(*) from theglory2 where theglory2.이름=theglory.이름) as same_name_cnt
      , (select sum(결제금액) from theglory2 where theglory2.이름=theglory.이름)as same_name_sumamount
      from basic.theglory
      ;
  3. 인라인 뷰

    • From 절

      # 중첩 서브쿼리 실습
      # 나이가 33세 이상인 모든 데이터 중 나이와 직업 컬럼 반환하기 
      select x.나이, x.직업
      from(	select *
                from basic.theglory
                where 나이>=33
          )as x 

profile
represent ojeong-dong

0개의 댓글