레이블이 SQL집합연산자인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SQL집합연산자인 게시물을 표시합니다. 모든 게시물 표시

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...