본문 바로가기

IT/Utility

SQL에서 LEFT JOIN으로 행 여러개 합치고 싶을때 예제

반응형

SQL에서 LEFT JOIN으로 행 여러개 합치고 싶을때 예제



LEFT JOIN 이란 왼쪽 기준 테이블을 모두 조회 한 후에, 오른쪽의 컬럼을 JOIN해서 값을 가져오는 방법이에요. 

회원정보를 불러올때 ID, 이름 등의 회원 테이블이 있는 상태에서 다른 테이블에 ID가 있을 때, ID를 키값으로 해서 사용 한다든지, 어떤 기준 정보에서 다른 테이블에 있는 값을 가지고 올때 사용할 수 있겠죠.



아래의 예제를 통해서 잠시 살펴볼께요.






AAA 테이블은 날짜별로 유저가 아이디로 저장되어 있는 정보이구요, BBB 테이블은 회원정보가 ID를 키값으로 해서 저장되어져 있는 경우에요.


그랬을때, AAA테이블에 있는 ID를 이름으로 표현하고자 할때에는 아래와 같은 쿼리문을 사용 할 수 있어요.





SELECT s2.mName AS m1, s3.mName AS m2, s4.mName AS m3, s5.mName AS m4, s6.mName AS m5


FROM AAA s1


LEFT JOIN BBB s2 ON s1.m1 = s2.mUserId

LEFT JOIN BBB s3 ON s1.m2 = s3.mUserId

LEFT JOIN BBB s4 ON s1.m3 = s4.mUserId

LEFT JOIN BBB s5 ON s1.m4 = s5.mUserId

LEFT JOIN BBB s6 ON s1.m5 = s6.mUserId




LEFT (OUTER) JOIN 을 사용 하실 때에는 OUTER를 생략하고 사용 할 수 있으니 참고하시면 될듯합니다.



반응형