-
day03_1 - 오라클 (집합 연산자, union, inersect, minus)KIC/DB 오라클 2021. 6. 24. 00:16반응형
[집합 연산자]
-> 집합 연산자는 컬럼의 개수가 같아야 한다.
-> 컬럼 네임은 달라도 괜찮지만 대응되는 컬럼의 데이터 타입이 같아야 한다.
[union]
-> UNION 은 결과를 합칠 때 중복되는 행은 하나만 표시
-> UNION ALL 은 중복제거를 하지 않고 모두 합쳐서 표시
--ex)
--union/union all
select studno, name, deptno1
from student
where deptno1 = 101
union
select profno, name, deptno
from professor
where deptno = 101;
select studno, name, deptno1
from student
where deptno1 = 101
union all
select profno, name, deptno
from professor
where deptno = 101;
student 테이블에서 전공이 101번 학과 학생과 부전공이 201번 학과를 전공하는 학생들의 이름을 출력
-> union all을 하게 되면 union 했을 때 중복되어 하나만 표시되던 홍길동이 그대로 나온다.
--ex)
7select name
from student
where deptno1 = 101
union
select name
from student
where deptno2 = 201;
select name
from student
where deptno1 = 101
union all
select name
from student
where deptno2 = 201;
[intersect 연산자]
-> 교집합 찾기
student 테이블을 사용하여 전공이 101번 학과의 부전공이 201번 학과를 복수전공하는 사람의 이름을 출력하세요.
select name from student where deptno1 = 101
intersect
select name from student where deptno2 =201;
[minus 연산자]
-> 큰 집합에서 작은 집합 빼기
professor 테이블에서 전체 직원의 급여를 20% 인상하기 위한 직원 명단을 출력하려고 한다. 단 직급이 전임강사인 사람들은 명단에서 제외한다.
--minus
select name, position from professor
minus
select name, position from professor
where position = '전임강사';
[sql 함수]
단일행 함수
-> 크게 단일행 함수와 복수행 함수가 있다.
묵시적 데이터 형변환
-> 오라클에서는 문자열을 계산할 때 자동으로 데이터를 형변환 해준다.
300x250'KIC > DB 오라클' 카테고리의 다른 글
day03_3 - 오라클 (숫자 함수, round, trunc, mod, ceil, floor, power) (0) 2021.06.24 day03_2 - 오라클 (문자 함수, initcap, lower, upper, length/lengthb, concat, substr, instr, lpad, ltrim, replace) (0) 2021.06.24 day02_2 - 오라클(산술 연산자, 숫자 반올림, 날짜 설정 및 출력, ORDER BY 절, 다중 order by) (0) 2021.06.23 day02_1 - 오라클(alias, 연결 연산자, 오라클에서 '와 "의 차이, distinct, where 조건문 및 연산자) (0) 2021.06.23 day01 (0) 2021.06.23