이너 조인은 에퀴 조인과 같은 건가요?
이너조인과 에퀴조인이 같은지 알려주시겠어요?
inner join'은 일반적으로 equi-join과 같지 않다.
'equi-module'은 등가 연산자 또는 동등한 연산자를 사용하여 테이블을 결합하는 것을 말합니다.외부 조인은 평등만 사용한다면 여전히 '에퀴-조인'이라고 부를 것입니다(다른 사람들은 동의하지 않을 수 있습니다).
"syslog join"은 "syslog join"과 반대이며 일치하는 값이 없을 때 두 세트를 결합하는 방법을 결정합니다.
간단히 말해서, 에퀴 조인은 가능한 내부 조인의 유형입니다.
자세한 설명은 다음과 같습니다.
inner-join은 특정 조건이 충족되는 조인 테이블에서 행만 반환하는 조인입니다.이 조건은 평등할 수 있고, 이것은 우리가 평등할 수 있다는 것을 의미합니다. 만약 그 조건이 평등하지 않을 수도 있고, 더 크거나, 더 작을 수도 있고, 더 정확하게는 세타조인이라고 불리는 논키조인이 있습니다.
이러한 조건을 충족할 필요가 없는 경우 외부 조인(반환되는 모든 테이블의 모든 행), 왼쪽 조인(왼쪽 테이블의 모든 행이 반환되고 오른쪽 테이블만 일치) 및 오른쪽 조인(오른쪽 테이블의 모든 행이 반환되고 왼쪽 테이블만 일치)을 지정할 수 있습니다.
정답은 '아니오'
명시적 연산자 =를 사용하여 두 표의 두 열을 일치시키는 데 등분포가 사용됩니다.
예:
select *
from table T1, table2 T2
where T1.column_name1 = T2.column_name2
내부 조인(inner join)은 두 테이블 간에 교차곱을 가져오고 두 테이블의 모든 레코드를 결합하는 데 사용됩니다.올바른 결과를 얻으려면 equi-join 또는 하나의 자연 결합을 사용할 수 있습니다(테이블 간의 열 이름이 같아야 함).
equi-join 사용(명시적이고 암묵적)
select *
from table T1 INNER JOIN table2 T2
on T1.column_name = T2.column_name
select *
from table T1, table2 T2
where T1.column_name = T2.column_name
또는 내추럴 조인 사용
select *
from table T1 NATURAL JOIN table2 T2
정답은 "아니오"입니다. 여기 독자들을 위한 짧고 간단한 내용이 있습니다.
내부 조인은 조인 조건에서 (=) 및 다른 연산자(<, <> 등)를 가질 수 있습니다.
Equi join에는 조인 조건의 등호(=) 연산자만 있습니다.
Equi 조인은 내부 조인, 좌측 외부 조인, 우측 외부 조인일 수 있습니다.
만약 차이가 있다면, 나는 이것이 바로 여기라고 생각한다.DB2로 테스트했습니다.'equi join'에서.조인할 테이블의 비교 컬럼을 선택해야 합니다.내부 조인에서는 반드시 그렇게 할 필요는 없습니다.예:-
Select k.id,k.name FROM customer k
inner join dealer on(
k.id =dealer.id
)
여기서 결과 행은 두 열 행뿐입니다.
id name
하지만 equi join에서는 다른 테이블의 열도 선택해야 한다고 생각합니다.
Select k.id,k.name,d.id FROM customer k,dealer d
where
k.id =d.id
이렇게 하면 3개의 열이 생성됩니다. 딜러의 원치 않는 비교 열을 여기에 둘 수 없습니다(원하지 않더라도). 행은 다음과 같습니다.
id(from customer) name(from Customer) id(from dealer)
당신의 질문에는 사실이 아닐 수도 있습니다.하지만 그것이 큰 차이점 중 하나일 수도 있다.
정답은 '그렇다'입니다. 하지만 결과 집합으로서요.여기 예가 있습니다.
다음 세 가지 표를 고려합니다.
주문(ord_no, purchase_date, ord_date, customer_id, sales_id)
고객(customer_id, cust_name, 시, 등급, sales_id)
sales(sales_id, 이름, 시, 수수료)
다음과 같은 질문이 있는 경우:
주문 세부 정보를 찾습니다.
이너 조인 사용:
SELECT * FROM orders a INNER JOIN customer b ON a.customer_id=b.customer_id
INNER JOIN salesman c ON a.salesman_id=c.salesman_id;
EQUI JOIN 사용:
SELECT * FROM orders a, customer b,salesman c where
a.customer_id=b.customer_id and a.salesman_id=c.salesman_id;
두 쿼리를 모두 실행합니다.같은 출력을 얻을 수 있습니다.
질문하기 : equijoin과 inner join의 출력에는 차이가 없습니다. 그러나 두 유형의 내부 실행에는 차이가 있을 수 있습니다.
언급URL : https://stackoverflow.com/questions/5471063/is-inner-join-the-same-as-equi-join
'programing' 카테고리의 다른 글
| 오류: 구현되지 않음: window.scrollTo.Jest 테스트에서 이 오류를 제거하려면 어떻게 해야 합니까? (0) | 2023.03.15 |
|---|---|
| MUI에서의 응답 타이포그래피? (0) | 2023.03.15 |
| ALTER TABLE 문에 'ON DELETE CASCADE'를 추가하는 방법 (0) | 2023.03.15 |
| AngularJS 페이지 내 여러 ng-app (0) | 2023.03.15 |
| 뷰포트 방향 감지(방향이 세로 방향인 경우) 사용자에게 지침을 알리는 경보 메시지 표시 (0) | 2023.03.15 |