-
[SQL] Union, Excpet와 Join 구문의 차이Computer Engineering/SQL 2023. 12. 18. 10:16
Union, Excpet / Inner, Left Join
데이터베이스 내에서 나의 연구 대상에 맞는 환자를 추출하는 쿼리를 제작 및 구성하다가
UNION, EXCEPT와 INNER, LEFT Join을 둘 다 사용하곤 했는데
Inner, Left Join과 Union, Except의 차이에 대해서 궁금하게 되었다.


Standard SQL 연산자 집합 형태만 놓고 보면 두 구문의 결과나 차이점은 크게 없어 보인다.
더보기1. STANDARD SQL 개요
- ANSI/ISO SQL 표준을 통해 STANDARD JOIN을 포함한 많은 기능이 상호 벤치마킹하고 발전하면서 DBMS 간에 평준화를 이루고 있음
가. 일반 집합 연산자
일반 집합 연산자 현재의 SQL UNION UNION INTERSECTION INTERSECT DIFFERENCE EXCEPT(Oracle은 MINUS) PRODUCT CROSS JOIN 나. 순수 관계 연산자
일반 집합 연산자 현재의 SQL SELECT WHERE 절 PROJECT SELECT 절 (NATURAL) JOIN JOIN DIVIDE 현재 없어짐 2. FROM 절 JOIN 형태
3. INNER JOIN
- 내부 JOIN이라고 하며, JOIN 조건에서 동일한 값이 있는 행만 반환
4. NATURAL JOIN
- 두 테이블 간의 동일한 이름을 갖는 모든 칼럼들에 대해 EQUI(=) JOIN을 수행 (SQL Server에서는 지원X)5. USING 조건절
- 같은 이름을 가진 칼럼들 중에서 원하는 칼럼에 대해서만 선택적으로 =JOIN 진행
6. ON 조건절
- 이름이 다른 칼럼명을 JOIN 조건으로 사용하거나, JOIN 칼럼을 명시하기 위해서는 ON 조건절을 사용
7. CROSS JOIN
- 테이블 간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합
- 양쪽 집합의 M*N 건의 데이터 조합이 발생
8. OUTER JOIN
- 외부 JOIN이라고 하며, JOIN 조건에서 동일한 값이 없는 행도 반환
출처: https://planharry.tistory.com/50 [planharry:티스토리]
결론만 말하면 2가지 쿼리의 접근 방식이 다르다고 한다.
UNION/EXCEPT : 결과 집합의 수직적 결합
INNER/LEFT JOIN : 결과 집합의 수평적 결합
이에 대해서 ChatGPT에게 의견을 물어보자


수직적 접근과 수평적 접근이 의미하는 바와 어떻게 다른지에 대해서(wtih ChatGPT 4.0) 

수직적 접근과 수평적 접근이 의미하는 바와 어떻게 다른지에 대해서(wtih ChatGPT 4.0) 대규모의 데이터와 복잡한 조건의 쿼리를 수행할 경우 수평적인 접근(JOIN)을 사용하는 것이 효율적일 수 있으나,
조건이 간단하고 명확한 경우 UNION/EXCEPT를 사용하는 것이 더 효율적일 수 있다.
결론적으로 사용자의 목적과 데이터베이스의 환경에 따라서 적절하게 선택하여 수행하면 된다고 한다 !!
Lim, Minsik M.S
Dept of Computer Science, College of IT Convergence, Gachon Universityms4002@gachon.ac.kr
더보기SQL Server intersect ,except 는 join(조인), union(유니온) 과 무엇이 다른가?출처: https://tipntech.tistory.com/22 [Tip & Tech:티스토리]
SQL Server intersect ,except 는 join(조인), union(유니온) 과 무엇이 다른가?
SQL Server 2008 부터 사용가능 Union 이나 union all 이 데이터의 합집합을 구하는것이라면 - intersect 는 두개의 테이블에 데이터가 동시에 존재하는 교집합을 구하는 것이고 - except 는 첫번째 테이블에
tipntech.tistory.com
SQL 집합 연산자(UNION, UNION ALL, INTERSECT, EXCEPT)
SQL 집합 연산자(UNION, UNION ALL, INTERSECT, EXCEPT)
집합연산자에는 우선 UNION, UNION ALL, INTERSECT, EXCEPT 이렇게 종류가 있습니다. MySQL에서는 INTERSECT 와 EXCEPT가 따로 존재하지 않고 JOIN으로 해결할 수 있는데 이것도 이번에 같이 살펴보겠습니다.조회
velog.io
수평적 확장과 수직적 확장 – 데이터베이스 확장 방법
수평적 확장과 수직적 확장 – 데이터베이스 확장 방법 데이터 확장성 데이터 확장성은 데이터를 추가 및 제거하여 변화하는 수요를 조작할 수 있는 데이터베이스의 능력을 나타냅니다. 이러한
usdividendinvestment.tistory.com
https://planharry.tistory.com/50
2-2. SQL 활용_(1)표준 조인(STANDARD JOIN)
제1절 표준 조인(STANDARD JOIN) 1. STANDARD SQL 개요 - ANSI/ISO SQL 표준을 통해 STANDARD JOIN을 포함한 많은 기능이 상호 벤치마킹하고 발전하면서 DBMS 간에 평준화를 이루고 있음 가. 일반 집합 연산자 일반
planharry.tistory.com
반응형'Computer Engineering > SQL' 카테고리의 다른 글
SQL 공부 시작. (0) 2023.06.25 기초 SQL - 데이터 검색하기 (0) 2023.03.07