집 >데이터 베이스 >MySQL 튜토리얼 >행 번호를 기준으로 두 개의 SQL Server 테이블을 내부 조인하는 방법은 무엇입니까?
SQL Server의 행 번호에 대한 내부 조인
목표: 두 테이블의 행을 사용하여 내부 조인 수행
시나리오:
다음 데이터가 포함된 두 테이블 A와 B를 생각해 보세요.
Table A | Table B |
---|---|
RowA | Row4 |
RowB | Row3 |
RowC | Row2 |
RowD | Row1 |
목표는 행 번호를 기반으로 테이블을 만들고 다음을 검색합니다. 출력:
Table A | Table B |
---|---|
RowA | Row1 |
RowB | Row2 |
RowC | Row3 |
RowD | Row4 |
해결책:
행 번호에 대해 내부 조인을 수행하려면 다음과 같이 ROW_NUMBER() 함수를 활용하세요.
SELECT A.val, B.val FROM ( SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num FROM A ) AS A JOIN ( SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num FROM B ) AS B ON A.row_num = B.row_num ORDER BY A.val, B.val;
이 쿼리는 각 입력 테이블(A, B)에 대해 임시 테이블을 생성하고 val 열을 기준으로 각 행에 행 번호를 할당합니다. 그런 다음 테이블은 row_num 열을 사용하여 조인되고 결과는 두 테이블의 val 열을 기준으로 정렬됩니다.
추가 고려 사항:
SQL Fiddle 데모:
[SQL Fiddle 데모](https://www.sqlfiddle.com/#!18/69540/2 )
위 내용은 행 번호를 기준으로 두 개의 SQL Server 테이블을 내부 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!