다른 테이블에 내부 조인을 사용하는 쿼리가 있는데 다른 테이블에 포함 된 레코드도 포함하고 싶습니다.두 개의 다른 테이블을 기반으로 레코드 선택
예 :이
select name, address from table1
inner join table2 on table1.id = table2.id
, 나는 또한 table1.recno = (1,2,4)
가있는 행을 포함 할.
어떻게 쿼리를 작성할 수 있습니까?
내가 아는 한 가지 옵션은 첫 번째 테이블 조인 대신 IN
키워드를 사용하는 것입니다. 그러나 우리 고객은 IN 키워드를 사용하고 싶지 않습니다.
@Jenn이 - 당신이 존재, (아주 이상한 요구 사항을 사용할 수 있습니다 - 않습니다 IN을 사용하지 마십시오) –
올바르게 기억한다면 IN을 사용하지 않는 이유가있을 수 있습니다. "IN"은 전체 테이블을 스캔하는 반면, EXISTS를 사용하는 것은 일치하는 레코드가 발견되는 즉시 중지합니다. 나는 그것을 어디에서 읽었는지, 소스가 얼마나 신뢰할 수 있는지를 기억할 수 없다. 그래서 나는 완전히 틀릴 수도있다. –
'IN'은 (a = 1 OR a = 2 OR a = 4)에 대한 구문 적 설탕이다. 그것을 사용하지 않는 것은 마우스가없는 PC를 사용하는 것과 같습니다. – cjk