728x90
반응형
집합연산자 SELECT 쿼리를 여러개 동시 실행하려면 어떻게 해야할까?
UNION을 쓰면된다. UNION : 여러 SELECT 쿼리 결과를 모두 보여준다.
UNION
1 2 3 4 5 6 7 8 9 | SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 10 UNION SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 20; | cs |
UNION을 사용하면 두개의 쿼리를 연결시켜준다. 이때 앞에 있던 문장 ; (세미콜론) 은 지워준다.
UNION : 쿼리 결과 중복 데이터는 한번만 조회
중복된 데이터도 모두 조회하려면 UNION ALL 사용한다.
조건이 같으면 결과는 한번만 출력한다.
1 2 3 4 5 6 7 8 9 | SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 10 UNION SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 10; | cs |
UNION ALL
1 2 3 4 5 6 7 8 9 | SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 10 UNION ALL SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 10; | cs |
UNION ALL을 사용하면 중복되더라도 모든 데이터를 출력해줄 수 있다.
컬럼 개수 불일치
1 2 3 4 5 6 7 | SELECT EMPNO, ENAME FROM EMP WHERE DEPTNO = 10 UNION SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 20; | cs |
컬럼명 다르지만 자료형 일치.
1 2 3 4 5 6 7 | SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 10 UNION SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE DEPTNO = 20; | cs |
이때 주의할 점은,
쿼리문의 컬럼 개수는 동일해야하며, 컬럼의 자료형도 동일해야한다.
728x90
반응형
'✨ DBMS > Oracle' 카테고리의 다른 글
[Oracle / SQL] 더미테이블(DUAL)과 유용한 숫자 함수 예제 2 (0) | 2023.02.21 |
---|---|
[Oracle / SQL] 더미테이블(DUAL)과 유용한 문자 함수 예제 (0) | 2023.02.21 |
[Oracle / SQL] sqldeveloper 경고 - 일부 모듈을 설치하지 못했습니다. (0) | 2023.02.17 |
[Oracle / SQL] SQL 별칭(AS), 와일드카드, LIKE 연산자, '%' , '_' (0) | 2023.02.16 |
[Oracle / SQL] SQL SELECT, FROM, WHERE 기초 공부 (0) | 2023.02.16 |
댓글