JOIN과 UNION의 차이점은 무엇입니까?
사이의 차이점은 무엇입니까?JOIN
그리고.UNION
예를 들어봐도 될까요?
UNION
쿼리에서 줄을 서로 이어 넣는 동안JOIN
데카르트 제품을 만들고 하위 집합을 만듭니다. 완전히 다른 작업입니다. 예UNION
:
mysql> SELECT 23 AS bah
-> UNION
-> SELECT 45 AS bah;
+-----+
| bah |
+-----+
| 23 |
| 45 |
+-----+
2 rows in set (0.00 sec)
로 의유한사예한소사예▁of를 들 수 있습니다.JOIN
:
mysql> SELECT * FROM
-> (SELECT 23 AS bah) AS foo
-> JOIN
-> (SELECT 45 AS bah) AS bar
-> ON (33=33);
+-----+-----+
| foo | bar |
+-----+-----+
| 23 | 45 |
+-----+-----+
1 row in set (0.01 sec)
UNION은 두 개 이상의 쿼리 결과를 유니온의 모든 쿼리에 속하는 모든 행을 포함하는 단일 결과 집합으로 결합합니다.
JOIN을 사용하면 테이블 간의 논리적 관계를 기반으로 둘 이상의 테이블에서 데이터를 검색할 수 있습니다.조인은 SQL이 한 테이블의 데이터를 사용하여 다른 테이블의 행을 선택하는 방법을 나타냅니다.
UNION 작업은 두 테이블의 열을 결합하는 JOIN을 사용하는 것과 다릅니다.
유니온 예:
SELECT 1 AS [Column1], 2 AS [Column2]
UNION
SELECT 3 AS [Column1], 4 AS [Column2]
출력:
Column1 Column2
-------------------
1 2
3 4
가입 예:
SELECT a.Column1, b.Column2 FROM TableA a INNER JOIN TableB b ON a.Id = b.AFKId
두이 "" "" " " " " " 인 됩니다.a.Id = b.AFKId
사실입니다.
두 가지 모두에 대해 동일한 도식적인 설명을 볼 수 있지만, 이것들은 완전히 혼란스럽습니다.
유니온의 경우:
조인의 경우:
가입:
조인은 다른 테이블의 이름이 같거나 다른 열을 표시하는 데 사용됩니다.표시되는 출력에는 모든 열이 개별적으로 표시됩니다.즉, 열이 서로 옆에 정렬됩니다.
유니온:
UNION 세트 연산자는 데이터 유형이 동일한 열이 있는 두 테이블의 데이터를 결합하는 데 사용됩니다.UNION을 수행하면 두 테이블의 데이터가 동일한 데이터 유형의 단일 열에 수집됩니다.
예:
아래에 표시된 두 표를 참조하십시오.
Table t1
Articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
Table t2
manufacturer_id manufacturer
1 ABC Gmbh
2 DEF Co KG
이제 JOIN 유형을 수행하기 위해 쿼리가 아래에 표시됩니다.
SELECT articleno, article, manufacturer
FROM t1 JOIN t2 ON (t1.manufacturer_id =
t2.manufacturer_id);
articelno article manufacturer
1 hammer ABC GmbH
2 screwdriver DEF Co KG
그것은 결합입니다.
UNION은 열의 양과 유형이 동일한 테이블 또는 결과 집합이 있어야 하고 이를 테이블/결과 집합에 함께 추가해야 한다는 것을 의미합니다.이 예를 보십시오.
Table year2006
Articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
Table year2007
Articleno article price manufacturer_id
1 hammer 6 $ 3
2 screwdriver 7 $ 4
SELECT articleno, article, price, manufactruer_id
FROM year2006
UNION
SELECT articleno, article, price, manufacturer_id
FROM year2007
articleno article price manufacturer_id
1 hammer 3 $ 1
2 screwdriver 5 $ 2
1 hammer 6 $ 3
2 screwdriver 7 $ 4
그것들은 완전히 다른 것들입니다.
조인을 사용하면 유사한 데이터를 다른 테이블에 연결할 수 있습니다.
유니온은 서로 다른 두 쿼리의 결과를 단일 레코드 집합으로 반환합니다.
유니언은 두 개의 쿼리를 하나처럼 만듭니다.조인은 단일 쿼리 문에서 두 개 이상의 테이블을 검사하기 위한 것입니다.
조인 및 결합은 하나 이상의 테이블에서 데이터를 결합하는 데 사용할 수 있습니다.차이점은 데이터가 결합되는 방식에 있습니다.
간단히 말해서 조인은 데이터를 새 열로 결합합니다.두 테이블이 함께 결합된 경우 첫 번째 테이블의 데이터가 같은 행에 있는 두 번째 테이블의 열 옆에 한 열 집합으로 표시됩니다.
조합은 데이터를 새 행으로 결합합니다.두 테이블이 함께 "결합"된 경우 첫 번째 테이블의 데이터는 한 행 집합에 있고 두 번째 테이블의 데이터는 다른 집합에 있습니다.행이 동일한 결과에 있습니다.
유니언은 결과를 병합합니다(SQL Server는 확실히 병합됩니다)(기능 또는 버그?).
select 1 as id, 3 as value
union
select 1 as id, 3 as value
id,값
1,3
select * from (select 1 as id, 3 as value) t1 inner join (select 1 as id, 3 as value) t2 on t1.id = t2.id
id,value,id,value
1,3,1,3
SQL JOIN 절은 데이터베이스의 두 개 이상의 테이블에서 레코드를 결합하는 데 사용됩니다.조인(JOIN)은 두 테이블에 공통된 값을 사용하여 두 테이블의 필드를 결합하는 수단입니다.
SQL UNION 연산자는 두 개 이상의 SELECT 문 결과를 결합합니다.UNION 내의 각 SELECT 문은 동일한 수의 열을 가져야 합니다.열에도 유사한 데이터 유형이 있어야 합니다.또한 각 SELECT 문의 열은 순서가 같아야 합니다.
예: 표 1 고객 / 표 2 주문
내부 결합:
SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
INNER JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
조합:
SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
LEFT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
UNION
SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
RIGHT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Union Operation은 행의 Vertical Aggregate의 결합된 결과이고 Join Operation은 열의 Horizontal Aggregate의 결합된 결과입니다.
UNION 연산자는 두 개 이상의 SELECT 문을 결합하기 위한 것입니다.
JOIN은 내부, 외부, 왼쪽 또는 오른쪽 방법으로 각 테이블에서 행을 선택하기 위한 것입니다.
여기와 여기를 참고하세요.예를 들어 더 나은 설명이 있습니다.
우싱 유니온
UNIX는 두 개 이상의 쿼리 결과를 유니언의 모든 쿼리에 속하는 모든 행을 포함하는 단일 결과 집합으로 결합합니다.
유니온 예: 선택121 AS [칼럼1], 221 AS [칼럼2]유니온선택 321 AS [칼럼1], 422 AS [칼럼2]
출력: 1열 2열-------------------121 221321 422
JOIN 사용 중
JOIN, 테이블 간의 논리적 관계를 기반으로 둘 이상의 테이블에서 데이터를 검색할 수 있습니다.
가입 예: a를 선택합니다.열 1, b.칼럼 2 TblA에서 내부 접합 TblB 보나.ID = b.id
추상적으로 두 개의 테이블 또는 결과 집합이 결합된다는 점에서 유사하지만 UNION은 실제로 동일한 수의 열을 가진 결과 집합과 유사한 데이터 유형을 가진 열을 결합하는 데 사용됩니다.구조가 동일하며 새 행만 추가됩니다.
조인에서는 공유/유사 열이 없는 데카르트 조인을 포함하여 테이블/결과 세트를 가능한 모든 구조물과 결합할 수 있습니다.
저는 일반적인 차이를 다음과 같이 생각하고 싶습니다.
- 조인 조인 테이블
- UNION(모두)은 쿼리를 결합합니다.
언급URL : https://stackoverflow.com/questions/905379/what-is-the-difference-between-join-and-union
'programing' 카테고리의 다른 글
Android 텍스트 보기 텍스트 정당화 (0) | 2023.06.03 |
---|---|
장고 - 이메일로 로그인 (0) | 2023.06.03 |
루비에서 UTC 타임스탬프를 얻는 방법은 무엇입니까? (0) | 2023.06.03 |
Flexbox 자녀를 부모 키의 100%로 만들려면 어떻게 해야 합니까? (0) | 2023.06.03 |
Android 도면 구분선/분할선 배치? (0) | 2023.06.03 |