ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서브쿼리
    DB/Postgresql(DB) 2023. 11. 28. 18:57

     

    더보기

    -- 1. 음료(beverages)의 이름 및 가격과 함께, 가장 비싼 음료와의 가격 차이를 조사하려 한다.주어진 두 쿼리를 조합하여 이를 구하시오. 
    -- (SELECT 절 서브쿼리를 사용할 것SELECT    -- outter query(main query)
     
     -- 음료명,가격,가격 차이 조회
     SELECT
     name AS "음료명",
       price AS "가격",
       price - (
       -- 가장 비싼 음료의 가격 (단일값 결과 생성, 1x1열만 가능)
       SELECT -- Inner query(sub query)
        MAX(price),123
       FROM 
        beverages   -- 5800원
       ) AS "최대 가격과의 차이"
    FROM 
     beverages
     ;
     
     -- 2. 주문내역(order_details)로부터 주문 별 음료 개수의 평균을 조회하려 한다. 주어진 쿼리를 조합하여 이를 구하시오. (FROM 절 서브쿼리를 사용할 것)
     
     -- 주문 별 음료 개수 평균 집계(2)
    SELECT
      AVG(sum) AS "주문 별 음료 개수 평균"
    FROM
    (
    -- 주문 별 음료 개수 (1)
    SELECT 
     order_id,
     SUM(count)  -- AVG(SUM(count))는 중첩이 안됨
    FROM 
       order_details
     GROUP BY
       order_id
    ) AS "주문 별 음료 개수 집계"
    ;


     
     
     -- 3. 주문내역(order_details)로부터 음료 별 주문 개수를 조회하려 한다. 주어진 두 쿼리를 조합하여 이를 구하시오. (JOIN 절 서브쿼리를 활용할 것)
     
     -- 음료 id 별 주문 개수 
     SELECT 
      name AS "음료명",
      COALESCE(total_count,0) AS "주문개수"
     FROM 
      beverages
     LEFT JOIN (
      -- 음료 id별 주문 개수 
     SELECT 
       beverage_id,
       SUM(count) AS"total_count"
     FROM 
      order_details 
     GROUP BY
       beverage_id
     ) AS b_counts ON 
      b_counts.beverage_id = beverages.id
      ;
      
      


     

     
     
     -- 4. 평균 가격보다 비싼 음료(beverages)를 다음과 같이 조회하려 한다. 주어진 두 쿼리를 조합하여 이를 구하시오. (WHERE 절 서브쿼리를 사용할 것)
     
     
     -- 평균 가격보다 싼 음료를 조회 
     SELECT 
      name AS "음료명",
      price AS "가격"
     FROM 
      beverages 
      WHERE
      price > ( 
    -- 음료의 평균 가격 조회 
     SELECT
    AVG(price)
     FROM 
       beverages 
      )
    ;
      
      
     
     
    https://cloudstudying.kr/lectures/514
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    출저: 홍팍 (https://www.youtube.com/@hongpark)

    이 블로그 기록은 개인 공부용 기록입니다.

    'DB > Postgresql(DB)' 카테고리의 다른 글

    필터링과 서브쿼리(IN.ALL.ANY)  (1) 2023.11.28
    그룹필터링 , 정렬, 조회 개수 지정  (0) 2023.11.28
    그룹화(Group By 와 집계 함수)  (0) 2023.11.28
    Join  (0) 2023.11.28
    primary key & Foreign Key  (0) 2023.11.27
Designed by Tistory.