문제
과목번호 'C413'에 등록하지 않은 학생의 이름을 검색하라.
not in 쓴다면
select sname
from student
where sno not in(select sno from enrol where cno='C413');
이고 결과는
sname
-------
이찬수
박종화
이렇게 나와
근데 not in 안쓰고 조인을 사용해서 하려면 어떻게해?
select sname
from student s, enrol e
where s.sno=e.sno and e.cno!='C413';
이런식으로 하면 안되더라고 어딜 수정해야되는건지 좀알려줘
!= 가 아니라 is not 일걸
아니 <>구나
where s.sno=e.sno and e.cno is not 'C413'; 이거 하면 ' 에 별찍히면서 누락된 null 키워드라고 나오는데
<>해도 결과 똑같애
where enrol.cno not in 'C413'; 해도 결과 똑같고
<> 하면 8개 행나와
저 이찬수 박종화 두개만 뽑고싶은데
!= 해서 하면
8개행이 중복되서 나오는거야 아니면 다른애들 다나오는거야
sname---- 나수영 이찬수 정기태 정기태 송병길 송병길 송병길 박종화 나와
select sname from enrol natural join student where enrol.cno not in 'C413';
이거도 아니고
where 절에서 조건하나 달아주면 되지않을까 하는데 초보라 생가을 못하겠어
SELECT * FROM STUDENT A INNER JOIN ENROL B ON A.SNO=B.SNO WHERE B.CNO != 'C413'