상담문의

ㆍ HOME > 상담문의 > 정보처리기사 실기
제 목 공부중 질문이 있어요
글쓴이  기사친구작성일 2011-04-30 오전 3:09:06조회수 566
글공유
게시글을 twitter로 보내기게시글을 facebook으로 보내기게시글을 Me2Day로 보내기게시글을 요즘으로 보내기
이영주님 안녕하세요?

in 연산자는 select문에서 where 절에서 사용됩니다.

value in 의 경우에는 제약조건을 걸어줄 때 값이 다음과 같은 범위 내에 있어야 한다..

라는 의미입니다. 따라서 check 조건을 걸어줄 때 value in 을 쓰게 되지요.

value in (a, b, c) 가 맞는 표현입니다.

=과 in 은 다릅니다.

where 절에서 = 을 사용하여 서브쿼리를 작성하게 되면 서브쿼리의 값이 반드시 하나만

나와야 합니다. 그렇지 않으면 에러가 됩니다.

in 의 경우에는 결과값이 여러개 나올 수 있는 것이지요.

그래서 강의에서 말씀드린 대로 OR의 결과가 되는 겁니다.

select name
from shop
where id (      ) select shopid from staff where id = '10'

위 SQL 문장을 잘 보시면

서브쿼리(부속질의문)이 사용되었습니다.

부속질의문이 사용되는 경우 id is 와 같은 형식은 사용하지 않습니다.

= 연산자나 in , not in , exist , not exist 등을 사용합니다.

만약 =을 쓰게 되면

select shopid from staff where id = '10'

의 결과가 딱 하나만 나와야 합니다.

만약 직원(staff)의 id가 유니크 성질을 가지고 있다면 id = '10' 인 결과값은 하나만

나오겠지요? 그런 경우라면 =을 쓸 수 있습니다.

그러나 다시 강조드리지만 부속질의문의 결과가 하나 이상이 나오는 경우에는 =을 쓰면

에러가 됩니다.

열공하시구요.

마지막까지 힘내세요. ^^







1. in과 value in의 차이가 뭔가요? 그냥 같다고 보면 되나요?
예를들어 constrain 직위 check (     ) (사원, 대리, 과장)  구문이 있으면
둘다 답이되는것인지요?

2. value(a, b, c)와 value in (a, b, c)의 차이를 알려주세요

3. in과 =의 차이는 뭔가요?
select name
from shop
where id (      ) select shopid from staff where id = '10'

위 구문에서 전 답을 is로 생각했는데 in이 답이더라구요
강의때 in은 여러값중에 몇개 택하는거고 =는 택할수 있는 값이 하나일때라고 했던거같은데
택할수 있는 값이 하나면 무조건 = 인가요? 보기에 in과 =이 같이있으면 헷갈릴것 같네요

차이점 설명 좀 부탁드립니다

그리고 항상 친절한 답변 감사드립니다 ㅎㅎ
댓글쓰기 :
이전글 정보처리실기 질문있습니다
다음글 문제가 안 풀려여..ㅠ.ㅠ
고객지원센터

02-556-3650

평일 9:00~18:00

일요일 공휴일 휴무

계좌번호안내

농협은행 724-01-173541

국민은행 633601-04-044665

예금주 (주)조은캠프

상호명 : (주)조은캠프 ㅣ 대표이사 : 이유락 ㅣ 대구광역시 북구 대학로80 경북대학교 IT융합산업빌딩 11층
사업자번호 : 504-81-62507 ㅣ 본사 : 053-954-0030 ㅣ 기술지원 : 070-7019-1144 ㅣ 팩스 : 050-7711-2200 ㅣ 
원격평생교육시설13호 ㅣ 출판사 : 345-2005-00013 ㅣ 통신판매업 : 2005-대구북구-00158 ㅣ 정보보호책임자 : 김창연  
기사친구는 SSL보안방식의 암호화구간을 적용하여 사이트를 안전하게 이용하실 수 있습니다.
COPYRIGHT 2005 (주)조은캠프 ALL RIGHTS RESERVED.관리자에게 메일보내기