Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

합집합,교집합,차집합을 설명하기위해 id 값은 select에서 제외하였습니다.


합집합 구하기

Image Added

Code Block
languagesql
themeEmacs
SELECT address,age,name,phoneNbr,sex FROM db_example.address
UNION
SELECT address,age,name,phoneNbr,sex FROM db_example.address2;

...

새로운 튜플이기 때문에, SQL Native 쿼리 방식을 사용해야하며

사용방식에 만족스럽지는 못하지만 맵핑에도 어려움이 있어서

오브젝트를 있어서오브젝트를 변환하는 전통적인 방법을 그대로 사용해해보겠습니다.

...

사용방식에 만족스럽진 못하지만, 동일한 기능을, JPA Repository 인터페이스를 활용하여 수행하였습니다.



교집합 구하기

Image Added

Code Block
languagesql
themeEmacs
SELECT address,age,name,phoneNbr,sex FROM db_example.address
INTERSECT a1
WHERE a1.name IN (SELECT name FROM db_example.address2);

SELECT a.address,a.age,a.name,a.phoneNbr,a.sex 
FROM db_example.address a, db_example.address2 b 
WHERE a.name = b.name;



SELECT address,age,name,phoneNbr,sex FROM db_example.address
INTERSECT
SELECT address,age,name,phoneNbr,sex FROM db_example.address2;

차집합 구하기

Image Added

Code Block
languagesql
themeEmacs
SELECT address,age,name,phoneNbr,sex FROM db_example.address a1
WHERE a1.name NOT IN (SELECT name FROM db_example.address2);




SELECT address,age,name,phoneNbr,sex FROM db_example.address
EXCEPT
SELECT address,age,name,phoneNbr,sex FROM db_example.address2;

Note

합집합,교집합은 순서가 다르다고 결과가 달라지지 않습니다. ( 드라이븐 시작조건에 의해 성능이 달라질순 있어도 )

하지만 차집합은 빼는것이기때문에 교환법칙이 성립되지않기때문에 순서에 유의합니다.

교환법칙

A +B = B + A : 같음으로 교환법칙 성립

A - B = B - A : 같지 않다.