본문 바로가기

mysql

Sub-query

서브쿼리는 쿼리내에서 일부분의 데이터를 가져올 때 사용할 수 있습니다. 전체적인 데이터를 들고 오는 방식이 아닌 원하는 데이터들만 조회해서 들고 오기 때문에 JOIN연산을 진행할 수 있습니다.

SELECT
      p.id,
      p.names,
      p.price,
      p.sub_description,
      image.image_url,
      pd.descriptions AS detail,
      p.descriptions
      FROM product p
      JOIN sub_category
      ON p.sub_category_id = sub_category.id
      JOIN main_category
      ON sub_category.main_category_id = main_category.id
      JOIN  (SELECT product_id, JSON_ARRAYAGG(image_url) AS image_url FROM product_image GROUP BY product_id) AS image
      ON image.product_id = p.id
      JOIN product_detail pd
      ON pd.product_id = p.id
      WHERE p.id =1;

 

sub-query도 query이기 때문에 독립적으로 실행을 했을 때 실행이 되어야합니다.

JOIN을 많이하고JSON_ARRAYAGG를 사용해서 GROUP BY로 묶어줬는데 안되서 Sub-query로 변경해서 작용해주었습니다. 

'mysql' 카테고리의 다른 글

unic5n - showRoom 쿼리문  (0) 2023.04.15
LIMIT  (0) 2023.04.06
정규화 간단정리  (0) 2023.04.02
SQL Error 1064(42000)  (0) 2023.03.23
CONSTRAINT 제약조건  (0) 2023.03.22