Category/Database
[ORACLE] 3. SQL Developer, 집합 연산자
developer__Y
2023. 11. 28. 16:29
Oracle 홈페이지에서 개발자 다운로드 항목에 SQL Developer를 설치후, 이전에 만들어뒀던 scott 계정으로 데이터베이스를 접속한다.
접속하면 cmd창에서 불편하게 보았던 다양한 데이터들을 gui화면상에서 편리하게 확인할수있다.
< SQL Developer 단축키 모음 >
복사 : Ctrl + Shift + D
한줄 삭제 : Shift + Delete
창닫기 : Ctrl + w
주석 : Ctrl + /
쿼리 실행 : Ctrl + Enter
새창 : Alt + F10
집합연산자
- UNION : 합집합, 여러 쿼리문을 합쳐 하나의 결과를 출력한다. 중복으로 포함되는 행은 1개만 나오고, 중복되는 행까지 포함해서 출력하려면 UNION ALL 을 사용하면 된다.
- MINUS : 차집합, 큰 집합에서 작은집합의 쿼리를 뺀 결과를 하나의 테이블로 출력한다.
=> DEPTNO1 이 101인 행과 DEPTNO2 가 201인 행들이 하나의 테이블로 합쳐져서 출력된다.
UNION ALL을 사용했기때문에 9411_James Seo가 2번 출력된다.
- INTERSECT : 교집합, 두개이상의 쿼리문에서 공통된 쿼리들만 하나의 테이블로 만들어 출력한다.
예제) 다음의 3개의 테이블을 이용하여 소속 교수는 있으나, 소속 학생은 없는 학과 번호(DEPTNO1)를 출력하라.
1. Professor Table
2.Department Table
3. Student Table
= > SELECT DEPTNO FROM department
INTERSECT
SELECT DEPTNO FROM Professor
MINUS
SELECT DEPTNO1 FROM Student;
: department 테이블의 DEPTNO 와 Professor 테이블의 DEPTNO의 교집합 :
전체 학과번호와 담당교수가 있는 학과의 교집합 = 담당 교수가 있는 학과
에서
Student 테이블의 DEPTNO1 를 뺀 차집합 : 담당교수가 있는 학과 집합에서, 소속된 학과번호를 뺀 결과
= 담당교수가 있는 학과중 소속된 학생이 없는 학과