programing

이너 조인은 에퀴 조인과 같은 건가요?

golfzon 2023. 3. 15. 20:08
반응형

이너 조인은 에퀴 조인과 같은 건가요?

이너조인과 에퀴조인이 같은지 알려주시겠어요?

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

반응형