Left Outer Join 질문입니다.

희망나라 2014.08.26 11:55 Views : 2827

1)

select p.barcode, p2.BefCount
from
(Select p.barcode From 상품리스트 p)  P
Left outer Join
(
select p.barcode, _B.BefCount as BefCount from 상품리스트 p
 Left Outer Join ( select barcode, Sum(curjago) as BefCount from 재고 group by barcode ) _B On P.barcode = _B.barcode
) P2 ON p.barcode = p2.barcode

 

(5345개 행이 영향을 받음)
테이블 'Worktable'. 검색 수 0, 논리적 읽기 수 0, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0

테이블 재고. 검색 수 1, 논리적 읽기 수 40, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0

테이블 상품리스트 검색 수 2, 논리적 읽기 수 62, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0

 

2) 

 select p.barcode, p2.BefCount, P.comname -- comname 필드추가
from
(Select p.barcode, c.comname From 상품리스트 p, 거래처리스트 C  where c.comcode = p.comcode)  P  -- 거래처리스트 와 조인
Left outer Join
(
select p.barcode, _B.BefCount as BefCount from 상품리스트 p
 Left Outer Join ( select barcode, Sum(curjago) as BefCount from 재고 group by barcode ) _B On P.barcode = _B.barcode                                    
) P2 ON p.barcode = p2.barcode

 

(5345개 행이 영향을 받음)
테이블 재고  검색 수 5345, 논리적 읽기 수 10764, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0테이블상품리스트. 검색 수 1, 논리적 읽기 수 10929, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0,테이블 'Worktable'. 검색 수 0, 논리적 읽기 수 0, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0

테이블 거래처리스트 . 검색 수 1, 논리적 읽기 수 2, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0 

 

 

상품리스트 의 인덱스는 barcode 입니다.

1 번과 2 번의 비용에서 차이가 많이 납니다.

 (Select p.barcode, c.comname From 상품리스트 p, 거래처리스트 C  where c.comcode = p.comcode)  P

에서 "거래처리스트" 와 조인을  하고 다음 서브쿼리와 Left Outer Join 만 하는 건줄 알았는데 아닌가 봅니다.

제가 Join의 원리를 잘못이해 한건가요.

설명좀 부탁드립니다.

감사합니다.

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 31510
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16319
8142 SQL Server Architecture 및 내부 동작원리에 대하여 [1] HoyaSoft 2014.08.26 3800
8141 접근제어 때문에 질문드립니다. [1] 왕만두와우동 2014.08.26 2445
8140 DB 다른컴퓨터에 두고 붙이기 가능한가요? [4] 파파곰 2014.08.26 2800
» Left Outer Join 질문입니다. [2] 희망나라 2014.08.26 2827
8138 SQL2008 R2 대용량 SQL 유지관리 (Maintenance Plan) [2] 송동운 2014.08.26 5007
8137 모든 테이블 내용 지우기 [2] 백마탄나 2014.08.22 3410
8136 not in 쿼리 질문드립니다! [4] 파파곰 2014.08.22 2758
8135 데이터베이스 연결 오류 [2] dewrain 2014.08.22 7342
8134 UNION문으로 합친 테이블을 구분하고 싶습니다ㅠㅠ제발살려주세여 [1] 으아코딩어렵 2014.08.22 3391
8133 bigint끼리 더했는데 결과가 NULL입니다. [2] 연어초밥 2014.08.21 2395
8132 데이터 베이스 질문 있습니다. [1] 청소하자 2014.08.21 2108
8131 SQL Log 처리 - procedure VS trigger! [6] 전설의코더 2014.08.21 3134
8130 두 테이블 값 비교하여 변경된 컬럼을 알아내는 쿼리 질문드립니다. [5] he2ng 2014.08.20 9794
8129 쿼리문 질문 [1] hhhh 2014.08.19 2400
8128 날짜 형변환 convert 질문좀부탁드려요 [1] 아싸헛스윙 2014.08.19 6899
8127 2000 , 2005 32bit 를 2008 64비트 복원이 가능한가요? [7] 김영환_281520 2014.08.19 5040
8126 쿼리 오류나는데 좀 봐주세요...ㅠ [2] dewrain 2014.08.19 2219
8125 lined server 로 연결된 서버의 저장프로시저 호출 후 select 가 가능할까요? [8] taz2315 2014.08.19 7644
8124 어떤 SELECT문일까요?ㅜㅜ [2] 마힐링 2014.08.18 2621
8123 날짜관련 [3] hhhh 2014.08.18 2192





XE Login