형태
select ...
from 테이블1
where 연산자 (
select ...
from 테이블2
where 테이블1.컬럼 = 테이블2.칼럼
);
* 서브쿼리에서 메인쿼리 테이블의 컬럼을 참조 할 수 있다.
* 메인쿼리에서 서브쿼리 테이블의 컬럼을 참조 할 수 없다.
/*
/*
exists 연산자
*/
/*
예)
*/
select * from professor;
select * from course;
select name "강의중인 교수이름"
from professor p
where professor_id = (select c.professor_id from course c
where p.professor_id = c.professor_id
GROUP by c.professor_id
);
select name "강의중인 교수이름"
from professor p
where exists (select c.professor_id from course c
where p.professor_id = c.professor_id
);
/*
위 두개의 쿼리는 같은 결과를 출력한다.
즉 exists 연산자는 서브쿼리에서 선택되는 로우에 대해 중복을 제거하고
같은 값이 있는지에대한 연산을 한후 조건이 참인 열을 출력하게된다.
*/
/* not exists 연산자
*/
/*
exists 연산자의 반대의미로 서브쿼리에서 중복을 제거하고
선택된 컬럼의 열들의 대해서 메인쿼리 값을 비교하여 값이 다른
열을 출력하게된다.
*/
select name "강의를 하지 않는 교수이름"
from professor p
where not exists (select c.professor_id from course c
where p.professor_id = c.professor_id
);
2016년 1월 18일 월요일
피드 구독하기:
댓글 (Atom)
[oracle]백업및 복구
[oracle]백업및 복구 오라클 덤프 백업및 복구 윈도우 서버 기반 간단 정리 --디렉터리 조회 sqlplus 또는 dbtool 입력시작 SELECT * FROM DBA_DIRECTORIES ; --D:...
-
수십대의 서버에 특정 쉘을 실행한다거나 파일을 수정해야할경우 호스트 입력 아이디 입력 패스워드 입력은 여간 짜증나는일이 아닐수 없다. 이를 한방에 해주는 방법 teraterm 를 설치한다( putty 는 버리자 ) 예를 들면 19...
-
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId...
-
notice_state 란 이름의 체크박스가 있다 가정하고 $("input[name=notice_state]").bind("click",false); 끝.
댓글 없음:
댓글 쓰기