두 개의 다른 데이터베이스 테이블에 조인을 사용할 수 있습니까?


98

서로 다른 데이터베이스의 두 테이블에 대해 조인 작업을 사용할 수 있습니까? 그렇다면 어떻게해야합니까?

두 데이터베이스가 동일한 서버에 있고 DBMS가 동일합니다.

답변:


187

SQL Server를 사용하면 데이터베이스가 동일한 서버에있는 한 다른 데이터베이스의 테이블을 조인 할 수 있습니다. 조인 구문은 동일합니다. 유일한 차이점은 테이블 이름을 완전히 지정해야한다는 것입니다.

하자가 동일한 서버에 두 개의 데이터베이스가 있다고 가정 - Db1Db2. Db1라는 테이블이 Clients컬럼이를 ClientId하고 Db2라는 테이블이 Messages컬럼으로 ClientId(해당 테이블이 다른 데이터베이스에있는 이유를하자 휴가 asside을).

이제 위에서 언급 한 테이블에서 조인을 수행하려면 다음 쿼리를 사용합니다.

select *
from Db1.dbo.Clients c
join Db2.dbo.Messages m on c.ClientId = m.ClientId

17
두 데이터베이스는 동일한 보안 컨텍스트에서 액세스 할 수 있어야합니다. 즉, 두 데이터베이스에 대해 다른 자격 증명으로 로그인하면 위의 방법이 작동하지 않습니다. 이 경우 "연결된 서버"를 사용해야합니다.
Ian Goldby

2

데이터베이스에서 동의어 부분을 사용할 수 있습니다.

여기에 이미지 설명 입력

그런 다음 동의어 탭의보기 마법사에서 저장된 동의어를 찾아 추가하여 간단히 내부 조인을보고 설정합니다. 여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.