쿼리 문의 입니다.

by 인경수 posted May 28, 2010
안녕하세요.  큐브리드 7.2 버전부터 열심히 사용하고 있는 사용자입니다.

현재는 큐브리드 2008 R 2.2 버전에서 프로그램을 개발하고 있는데요.

한가지 이해가 되지 않는 부분이 있어서 이렇게 글을 적어봅니다.

현재 테이블이 4 개 있습니다. 

회원, 학교, 중학교, 전문계고  이중 중학교 테이블과 전문계고테이블은  학교 테이블을 상속받아서 생성을 한 상태입니다.  그런데 다음과 같은 쿼리를

날리면 그 결과가 이상하게 나오네요.

SELECT a.f_login_id, b.f_full_name, b.f_grade
     FROM t_member a LEFT JOIN ALL t_school b ON a.f_school_code = b.f_code

이렇게 하면 그 결과가
f_login_id               f_full_name          f_grade
silubsupport              null                    null
middleteacher           null                    null
goeip                        null                    null  
middleadmin              null                   null

이렇게 나오네요.

그런데

SELECT a.f_login_id, b.f_full_name, b.f_grade
   FROM t_member a, ALL t_school b  WHERE a.f_school_code = b.f_code

위와 같이 질의를 하면

f_login_id               f_full_name          f_grade
silubsupport        달성정보고등학교   전문계고
middleteacher        테스트중학교        중학교
middleadmin           테스트중학교      중학교
goeip                   대구광역시교육청   교육청


위 두쿼리가 결과가 서로 다르게 나오면 될것 같지 않은데요.  그런데 의구심이 드는 것은 이전까지는 첫번째 쿼리(left join)가 정상적으로 작동을 했거든요.

두 쿼리의 차이가 있나요?


Articles

31 32 33 34 35 36 37 38 39 40