Exists 키워드를 사용하지 않고 동등한 쿼리를 작성하여 관계 대수로 번역 할 수 있습니까?

인포 코더

질문이 있습니다.

    select daa.*
    from Dataa daa
    where not exists (select row() from Stuff)

기본적으로 Stuff에 데이터가 있으면 쿼리는 아무것도 반환하지 않습니다. 그러나 Stuff가 비어 있으면 쿼리는 Dataa의 모든 것을 반환합니다. 이 쿼리를 동일한 동작으로 다시 작성해야하지만 exists 키워드없이 관계형 대수로 변환 할 수 있습니다.

내가 살펴본 몇 가지 리소스는 다음과 같습니다.

NOT IN을 NOT EXISTS로 변환 http://mlwiki.org/index.php/Translating_SQL_to_Relational_Algebra#EXISTS_in_the_Where_Clause_.28by_example.29

안토닌 레이 섹

없이 작성하는 방법은 거의 없습니다. Exists

select daa.*
from Dataa daa
where (select 1 from Stuff limit 1) is null

select daa.*
from Dataa daa
where (select count(*) from Stuff) = 0

select daa.*
from Dataa daa
left outer join (select 1 one1 from Stuff)j on 1=1
where j.one1 is null

그러나 나는 그 키워드의 문제가 정확히 무엇인지 알지 못합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관