sql 에서 exists 와 in 의 문법 과 차이 점 을 자세히 설명 합 니 다.

1577 단어 sqlexistsin문법
exists 와 in 의 차 이 는 매우 작 아서 거의 등가 할 수 있 지만 sql 최적화 에서 효율 문 제 를 중시 합 니 다.오늘 은 exists 와 in 의 차 이 를 말씀 드 리 겠 습 니 다.
exists 문법:
select...부터 table where exists(하위 조회)
주 조회 결 과 를 하위 조회 결과 에 넣 고 검사 합 니 다.만약 에 하위 조회 에 데이터 가 있 으 면 검사 가 성공 하면 검사 에 부합 되 고 데 이 터 를 보존 합 니 다.

create table teacher
(
tid int(3),
tname varchar(20),
tcid int(3)
);
insert into teacher values(1,'tz',1);
insert into teacher values(2,'tw',2);
insert into teacher values(3,'tl',3);
예 를 들 면:

select tname from teacher exists(select * from teacher);
이 sql 문 구 는 select tname from teacher 와 같 습 니 다.
(주 조회 데 이 터 는 하위 조회 에 존재 하면 조회 성공(검증 성공))
이 sql 은 하위 조회 에 이러한 데이터 가 존재 하지 않 기 때문에 비어 있 습 니 다.
문법:
select...에서 table where 필드 in(하위 조회)

select ..from table where tid in (1,3,5) ;

select * from A where id in (select id from B);
구별:
주 조회 데이터 가 크 면 in 을 사용 합 니 다.
하위 조회 데이터 가 크 면 exists 를 사용 합 니 다.
예 를 들 면:

select tname from teacher where exists (select * from teacher);
이 곳 은 하위 조회 가 모든 것 을 조회 하고 데이터 집합 이 크 며 exists 를 사용 하여 효율 이 높다 는 것 이 분명 하 다.

select * from teacher where tname in (select tname from teacher where tid = 3);
주 조회 데이터 가 크 고 in 을 사용 하여 효율 이 높다 는 것 이 분명 하 다.
sql 에서 exists 와 in 의 문법 과 차이 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 sql 에서 exists 와 in 문법 차이 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기