조인의 결과가 이상하네요 0 2 1,575

by 안떠니 [2016.04.23 04:37:22]


ret 테이블에서 1000개 리턴됩니다. addr_cd = 5 조건을 줘서요.

SELECT COUNT(code) FROM ret WHERE addr_cd = 5;

ret 테이블에 있는 city_cd 를 주소 테이블에 있는 city_cd 와 조인을 해서 city_name 을 가져오려고 합니다.

그래서..이렇게

SELECT b.city_name FROM ret a, addr b

WHERE a.addr_cd = 5

AND a.city_cd = b.city_cd;

 

하면, 15000개의 레코드가 리턴됩니다. 제가 원하는건 ret 테이블의 레코드 수 그대로인데요.

 

디비를 안한지 너무 오래되어서, 이렇게 기본적인것도 이제 질문하네요 ㅠㅠㅠ

(+) 도 붙여보고 해도...15000개의 레코드가...ㅠㅠㅠ 주소 테이블은 대략 4만개 있습니다.

 

 

 

 

by 안떠니 [2016.04.23 05:27:12]

select count(a.code) from ret a, addr b where a.addr_cd = 5 and a.city_cd = '6000022901';

혹시나 하나를 지정해서 하면 몇개를 리턴하는지 궁금해서, 위에서 처럼 실행했더니,

두 테이블의 레코드를 다 합친 수의 레코드를 리턴하네요. ㅠㅠㅠㅠ

이렇게 쉬운걸 기억을 못하네요 ㅠㅠ

 


by 안떠니 [2016.04.23 06:04:57]

addr 테이블에 중복된 city_cd 들이 있었네요. ㅠㅠㅠ

 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입