TIP | JOIN 문 | |
JOIN문이란..? - 테이블과 테이블을 연결하기 위한 방법 - 10개든 20개든 갯수에 상관없이 연결이 가능 - Outer Join과 Self Join도 있다. - Inner Join | ||
-- 형식 ---------- SELECT 컬럼명.. FROM 테이블1, 테이블2 WHERE 테이블1.컬럼 = 테이블2.컬럼; 또는.. SELECT 컬럼명.. FROM 테이블1 INNER JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼; 예) select a, b, c, d from MAX, BLOG where MAX.b = BLOG.b 또는... SELECT a,b,c,d FROM MAX INNER JOIN BLOG ON MAX.b = BLOG.b; - MAX테이블의 b컬럼과 BLOG테이블의 b컬럼중 같은 것만 select(선택) 보여준다. | ||
-- 다중 join ---------- SELECT 컬럼명.. FROM 테이블1, 테이블2, 테이블3.. WHERE 테이블1.컬럼 = 테이블2.컬럼 AND 테이블1.컬... ; 예) select a,b,c,d from MAX,BLOG,NATE.. where MAX.c = BLOG.c AND MAX.c = NATE.c .... ; - MAX.c컬럼과 BLOG.c컬럼이 같고 MAX.c컬럼과 NATE.c컬럼이 같고... 만 선택 보여준다. | ||
-- 종합 예제 ----------- MAX 테이블 BLOG 테이블 NATE테이블 a b c d e f g h i j k l ------------------ ------------------ ----------------- 1 10 100 가 4 22 107 가 3 28 87 루 3 81 103 사 2 27 127 아 1 75 81 사 2 52 123 마 1 23 187 차 4 26 54 라 6 77 132 라 0 55 193 라 8 48 102 가 7 32 187 나 5 32 212 하 6 62 187 마 MAX 테이블 BLOG 테이블 NATE 테이블 위와 같이 테이블이 구성 되어 있다. 예) 1번 select a,d,e,h from MAX, BLOG where MAX.b = BLOG.f; 또는.. select a,d,e,h from MAX INNER JOIN BLOG ON MAX.b = BLOG.f; - 결과 값은? MAX의 b컬럼과 BLOG의 b컬럼이 같은것을 찾는 것인데... 보면.. 32라는 값이 있다. a d e h 이렇게 나올거다.. -------------------- 7 나 5 하 역시 잘 맞아 떨어지는구만 -ㅅ- 이번에는.. 예) 2번 select c, d, g, h, k, l from MAX, BLOG, NATE where MAX.c = BLOG.g ; 또는... select c, d, g, h, k, l from MAX inner join BLOG on MAX.c = BLOG.g ; 하면.. 이렇게 NATE 테이블에 관한 조건을 주지 않으니 모두 해당되는 것으로 나온다. 조건을 줘 보자. 예)3번 select c, d, g, h, k, l from MAX, BLOG, NATE where MAX.c = BLOG.g and BLOG.g = NATE.k; 하나만 나온다. 마지막으로.. 예)4번 select c, d, g, h, k, l from MAX, BLOG, NATE where MAX.d= BLOG.h and BLOG.h = NATE.l; 위와 같은 거당~ 그냥 한번 더 해보는 -ㅅ-;; | ||
* 단점 ---------- 기본적으로 양쪽 테이블의 컬럼 내용이 있을 경우만 만족한다. 한쪽이라도 값이 없다면 Join문은 성립되지 않게 된다.. 해서 나온것이 OuterJoin 문이다. OUTER JOIN ☞ Outer JOIN 이동 고고!! | ||
2011년 3월 2일 수요일
JOIN 문
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기