쿼리 2개 합치는 거 질문드립니다. 0 1 1,226

by 메밀묵도토리묵 [SQL Query] mariadb dbeaver [2022.05.30 13:34:05]


select
        T1.fruit_id
    ,    T1.parent_fruit_id 
    ,    T1.fruit_level

from tb_fruit T1
inner join fruit T2    
on T1.fruit_id = T2.parent_fruit_id
where T1.fruit_level != 1
and T2.parent_fruit_id in (select fruit_id from tb_fruit where parent_fruit_id = 'fruit_1000')

 

// 위에 1번 쿼리와

 

select
        T1.fruit_id
    ,    T1.parent_fruit_id 
    ,    T1.fruit_level

from tb_fruit T1
inner join fruit T2    
on T1.fruit_id = T2.parent_fruit_id
where T1.fruit_level = 1
and T2.parent_fruit_id = 'fruit_1000'

 

//  이 2번 쿼리를 합친 결과를 출력하고 싶은데, 어떻게 해야할까요???

by 마농 [2022.05.30 14:25:47]
SELECT fruit_id
     , parent_fruit_id
     , fruit_level
  FROM tb_fruit
 WHERE (fruit_level  = 1 AND        fruit_id = 'fruit_1000')
    OR (fruit_level != 1 AND parent_fruit_id = 'fruit_1000')
;

합치는 거는 단순하게는 UNION ALL 하면 됩니다.
다만, 기존 쿼리에 비효율이 많습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입