TABLE1
TABLE2
HEAD |
VALUE |
A |
1 |
A |
2 |
B |
1 |
B |
4 |
B |
3 |
C |
6 |
C |
2 |
C |
8 |
위와 같은 구조의 일반적으로 많이 쓰는 테이블이 2개 있습니다.
원하는 값은 VALUE '1'을 값으로 가지고 있는 HEAD 'A', 'B'에 연결된 값을 전부 표시하는겁니다.
즉 조건 : VALUE = '1' 을 전달했을때 표시되어야하는 결과
HEAD |
VALUE |
A |
1 |
A |
2 |
B |
1 |
B |
4 |
B |
3 |
제 머릿속엔 단순히 VALUE = '1'인 HEAD 값 'A', 'B'를 찾아서 다시 HEAD IN ('A', 'B') 로 쿼리하는 여러단계의 서브쿼리를 사용하는 평범한 방법밖에 떠오르지 않습니다.
select *
from TABLE1 t1
where HEAD IN (select HEAD from TABLE2 where value = '1')
뭔가 고급기법이 있을듯한데요.. 궁금합니다. 고수분들의 고견을 조금만 나누어주세요 |