쿼리질문좀요 ㅠㅠㅠ

쿼리질문좀요 ㅠㅠㅠ

QA

쿼리질문좀요 ㅠㅠㅠ

답변 3

본문

1. 고객테이블 (idx, 등등등)

2. 고객사진테이블 (idx / 고객테이블 idx / 이미지)

 

지금 운영중인 사이트에서 

[고객테이블]에 업로드된 사진은 [고객사진테이블]에서 따로 저장하고있습니다.

 

혹시 고객사진이 없는 자료들을 한번에 뽑아보고싶은데..어떤식으로 쿼리를 작성해야할까요..

이 질문에 댓글 쓰기 :

답변 3

그냥 단순히 생각하면

 

select * from 고객테이블 where idx not in (select 고객테이블 idx from 고객사진테이블)

 

in의 select에 데이터가 엄청 많으면 안 될수도 있긴한데... 일단 이렇게 해보시죠. 

 

그리고 아마 테이블 데이터가 1:1 매칭일거 같은데 위에 방법이 안 된다면

 

join을 한 다음에 사진이 없는것만 뽑아오시는것도 방법 입니다.

 

exists로 판단하는 겁니다

 

select * from 고객테일 a 

where not exists ( select 'x' from 고객사진테이블 b

     where a.idx = b.고객테이블idx)

 

로 하시면 

동일조건에서 가장 빠른 속도로 처리됩니다

조인을 이용하면 될 것 같습니다


select
    *
from
    고객테이블
LEFT JOIN 고객사진테이블 ON
    고객테이블.고객테이블idx = 고객사진테이블.고객테이블idx
WHERE
    고객사진테이블.이미지 IS NULL
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 224
© SIRSOFT
현재 페이지 제일 처음으로