'Where'에 해당되는 글 1건

  1. 2011.10.20 LEFT OUTER JOIN시 ON과 WHERE에서의 조건
2011.10.20 11:28
한 10여년전인가....
처음 DB를 배우고 쿼리를 만들때마다 고민했던 것중에 하나는 
LEFT OUTER JOIN시 ON과 WHERE에 조건을 사용할 수 있는데
도대체 어떻게 다른 것일까?
어디에 써야하는거지??

오늘.. 갑자기 일하다 생각난김에 한번 정리해본다..
(막상 하려니 귀찮긴 하지만;;)

SELECT * FROM USERINFO;
SELECT * FORM HOSINFO;



SELECT U.*, H.*
FROM USERINFO U
LEFT OUTER JOIN HOSINFO H
ON U.USERID = 'DOCTOR';



SELECT U.*, H.* 
FROM USERINFO U
LEFT OUTER JOIN HOSINFO H
WHERE U.USERID = 'DOCTOR';



결론적으로,

ON절의 조건은 기준이 되지 않는 테이블(HOSINFO)의 조건이다.
만족하지 않는 값은 NULL로 표시된다.

WHERE절의 조건은 기준 테이블(USERINFO)의 조건이다.
위 쿼리에서는 USERINFO테이블의 USERID가 'DOCTOR'인 값만 표시되고 있음을 알수 있다.

이정도면 이해가 되려나..;;
요즘엔 웹개발은 안하고 어플개발만 하다보니 DB를 아주 제한적으로 사용하게되고
가끔 쿼리를 작성할때면 이런게 헷갈릴때가 있어서... 정리해본다..;;
나를 위한 정리 으하하하핫; ㅡㅡ;
Posted by 열라착한앙마

댓글을 달아 주세요