SQL 내부 조인을 사용하여 여러 테이블에서 데이터 검색

내부 조인은 둘 이상의 데이터베이스에 나타나는 정보를 반환합니다.

내부 조인은 SQL에서 가장 자주 사용되는 조인입니다. 두 개 이상의 데이터베이스 테이블에있는 정보 만 리턴합니다. 조인 조건은 어떤 레코드가 함께 결합되어 WHERE 절에 지정되는지를 판별합니다. 예를 들어, 차량과 운전자가 같은 도시에있는 운전자 / 차량 매치업 목록이 필요한 경우 다음 SQL 쿼리가이 작업을 수행합니다.

SELECT 성, 이름, 태그 FROM drivers, vehicles WHERE drivers.location = vehicles.location

결과는 다음과 같습니다.

성 firstname 태그
----------- ------------ ----
빵 굽는 사람 Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
제이콥스 아브라함 J291QR
제이콥스 에이브 러햄 L990MT

그 결과는 정확히 무엇이 요구되었는지를 주목하십시오. WHERE 절에 추가 기준을 지정하여 조회를 세분화 할 수 있습니다. 원래 쿼리는 운전 권한이없는 차량에 대한 운전자를 검색합니다 (트럭 운전자는 자동차로, 그 반대로는 차량 운전자와 일치 함). 다음 쿼리를 사용하여이 문제를 해결할 수 있습니다.

SELECT 성, 이름, 태그, vehicles.class FROM drivers, vehicles WHERE drivers.location = vehicles.location AND drivers.class = vehicles.class

이 예는 클래스가 모호하기 때문에 SELECT 절의 클래스 속성에 대한 소스 테이블을 지정합니다. 이는 두 테이블 모두에 나타납니다. 이 코드는 대개 쿼리 결과에 포함 할 테이블의 열을 지정합니다. 이 경우에는 열이 동일하고 동등한 도구를 사용하여 조인되므로 차이가 없습니다. 그러나 열에 다른 데이터가 포함 된 경우이 구분이 중요합니다. 이 쿼리의 결과는 다음과 같습니다.

성 firstname 태그 클래스
---------- ------------ ---- ------
빵 굽는 사람 Roland H122JM 차
Smythe Michael D824HA 트럭
Jacobs Abraham J291QR 자동차

누락 된 열은 마이클 Smythe와 차를 연결하고 Abraham Jacobs는 트럭을 주행 할 권한이없는 차량과 짝을지었습니다.

내부 조인을 사용하여 세 개 이상의 테이블에서 데이터를 결합 할 수도 있습니다 .