2020년 7월 19일 일요일

ORACLE, SQL집합연산자, UNION, INTERSECT, MINUS, UNION ALL

ORACLE, SQL집합연산자, UNION, INTERSECT, MINUS, UNION ALL

http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=606

3.2.8 집합 연산자

하나의 SELECT문의 결과가 다른 Select문의 결과와 합집합, 교집합, 차집합 등 새로운 결과를 만들어 낼 때 사용하는 연산자 이다. 이러한 집한 연산자를 사용하기 위해서는 연산을 하는 SELECT문의 결과와 칼럼 구조(개수, 타입)가 같아야 한다. 즉 같은 데이터 형이며 순서 또한 같아야 한다. 결과의 칼럼 명은 첫번째 SELECT문의 칼럼 명이 사용된다.

UNION : 연결된 Select문의 결과 합을 구해준다. 중복된 것은 하나만 보여줌

UNION ALL : 연결된 Select문의 결과 합을 구해준다. 중복된 ROW가 있더라도 모두 보여줌, 정렬이 일어나지 않는다.

INTERSECT : 연결된 Select문의 결과 교집합을 구해준다.

MINUS : 연결된 Select문의 결과 차를 구해준다.

-- 실습을 위해 고객용 Table 두개를 만들자.

SQL> create table customer1 (

name varchar2(10) not null,

addr varchar2(50));

테이블이 생성되었습니다.

SQL> create table customer2 (

name varchar2(10) not null,

addr varchar2(50));

테이블이 생성되었습니다.

SQL> insert into customer1 values ('나길동','서울');

1 개의 행이 만들어졌습니다.

SQL> insert into customer1 values ('가길동','부산');

1 개의 행이 만들어졌습니다.

SQL> insert into customer2 values ('라길동','서울');

1 개의 행이 만들어졌습니다.

SQL> insert into customer2 values ('가길동','부산');

1 개의 행이 만들어졌습니다.

SQL> commit;

커밋이 완료되었습니다.

SQL> select name, addr from customer1

union

select name, addr from customer2;

NAME ADDR

---------- -----------------------------------

가길동 부산

나길동 서울

라길동 서울

SQL> select name, addr from customer1

union all

select name, addr from customer2;

NAME ADDR

---------- -----------------------------------

나길동 서울

가길동 부산

라길동 서울

가길동 부산

SQL> select name, addr from customer1

intersect

select name, addr from customer2;

NAME ADDR

---------- -----------------------------------

가길동 부산

SQL> select name, addr from customer1

minus

select name, addr from customer2;

NAME ADDR

---------- -----------------------------------

나길동 서울

--아래 예문을 보면 결과 칼럼의 컬 럼명은 첫번째 Select문의 칼럼명이 사용됨을 알수있다.

SQL> select name as "이름1" , addr as "주소1" from customer1

minus

select name as "이름2" , addr as "주소2" from customer2;

이름1 주소1

---------- --------------------------------------------------

나길동 서울

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...