외부 쿼리와 SQL 하위 쿼리 조인

Oebu Kwoliwa Sql Hawi Kwoli Join



관계형 데이터베이스로 작업할 때 원하는 작업을 수행하기 위해 쿼리를 조작하고 결합하는 방법을 마스터해야 합니다. 그렇기 때문에 각 관계형 데이터베이스 엔진은 사용자에게 뛰어난 기능, 효율성 및 사용 편의성을 제공하기 위해 SQL 언어의 특징을 구현합니다.

SQL의 가장 강력한 기능 중 하나는 하위 쿼리입니다. 하위 쿼리는 더 크고 복잡한 쿼리 내에 중첩된 쿼리 집합입니다. 하위 쿼리를 사용하면 데이터를 검색하거나 더 복잡한 작업을 단일 엔터티로 수행할 수 있습니다.







하위 쿼리를 사용하여 데이터 필터링, 정렬, 여러 테이블 집계 등을 수행할 수 있습니다.



그러나 SQL 하위 쿼리 아래에 숨겨진 또 다른 기능은 하위 쿼리 조인으로 알려져 있습니다. 이는 하위 쿼리와 유사합니다. 대신 외부 쿼리 내의 하위 쿼리를 사용하여 테이블을 함께 조인할 수 있는 조인입니다.



머리가 어지러워도 걱정하지 마세요. 특히 처음에는 하위 쿼리 조인을 마스터하기가 어려울 수 있습니다. 그러나 이 자습서에서는 운에 너무 많이 맡기지 않고 기본 단계에서 하위 쿼리 조인을 분해하려고 시도합니다.





SQL, SQL 조인, SQL 하위 쿼리 등에 익숙하지 않다고 가정합니다. 그러나 그렇다면 주제에 대한 자습서를 확인하여 자세한 내용을 알아보십시오.

SQL 외부 조인 마스터하기

하위 쿼리 조인을 사용하는 방법을 이해하려면 외부 조인을 사용하는 방법을 배우는 것이 핵심 요소입니다.



익숙하지 않은 경우 SQL 외부 조인을 사용하면 한 테이블에서 모든 행을 가져오고 두 번째 테이블에서 일치하는 행을 가져올 수 있습니다. 왼쪽 외부 조인, 오른쪽 외부 조인, 전체 외부 조인 등을 포함하여 그것보다 조금 더 복잡합니다.

SQL 왼쪽 외부 조인에서 쿼리는 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 쿼리는 오른쪽 테이블에 일치하는 행이 없는 경우 결과 열에 NULL 값을 포함합니다.

오른쪽 외부 조인의 경우 쿼리는 오른쪽 테이블의 모든 행을 반환하지만 왼쪽 테이블의 일치하는 행만 반환합니다. 마찬가지로 왼쪽 테이블에 일치하는 행이 없으면 쿼리에 NULL 값이 포함됩니다.

마지막으로 전체 외부 조인이 있습니다. 이 조인은 오른쪽 및 왼쪽 테이블의 모든 행과 일치하지 않는 레코드에 대한 NULL 값을 반환합니다.

SQL 하위 쿼리 조인

이제 SQL 하위 쿼리에 대해 이해했으므로 하위 쿼리 조인에 대해 이야기해 보겠습니다. 하위 쿼리 조인을 사용하면 외부 쿼리 내의 하위 쿼리를 사용하여 테이블을 조인할 수 있습니다.

물어보면 그게 다야? 예, 그것이 하위 쿼리 조인이 하는 전부입니다.

이를 더 잘 보여주기 위해 다음에 설명된 다음 구문 예제를 사용하십시오.

선택하다 *
표 1에서
왼쪽 외부 조인 (
열1, 열2 선택
표 2에서
) AS 하위 쿼리
ON table1.column3 = 하위 쿼리.column1;


이전 구문에서는 왼쪽 외부 조인을 사용하여 테이블 1의 모든 열을 선택하여 하위 쿼리와 조인했습니다. 하위 쿼리의 역할은 테이블 2에서 정의된 열을 가져오는 것입니다. 그런 다음 테이블 1의 열 2와 하위 쿼리의 열 1을 조건으로 테이블 1과 조인합니다.

실제 예:

이론적으로는 덜 직관적인 것처럼 보이지만 Sakila 데이터베이스를 사용하여 실제 시나리오를 살펴보겠습니다.

데이터베이스의 모든 영화 목록과 해당 언어를 검색한다고 가정합니다. 영화의 언어는 언어 테이블에 저장되고 영화 이름은 영화 테이블에 저장됩니다.

그러나 필름 테이블에는 언어 테이블의 'language_id' 열이라는 외래 키가 있습니다. 따라서 다음 쿼리와 같이 왼쪽 외부 조인과 함께 하위 쿼리 조인을 사용하여 두 테이블을 함께 조인할 수 있습니다.

SELECT f.title, l.name AS 언어
FROM 영화
왼쪽 외부 조인 (
SELECT language_id, 이름
언어에서
) 그대로
ON f.language_id = l.language_id;


이전 예제 쿼리에서는 영화 테이블에서 제목 열을 선택하고 언어 테이블에서 이름 열을 선택합니다.

그런 다음 하위 쿼리를 사용하여 언어 테이블에서 language_id 및 name 열을 선택합니다. 다음 단계는 필름 테이블의 language_id가 언어 테이블의 language_id와 같다는 조건으로 영화 테이블과 조인하는 것입니다.

모든 영화가 결과에 포함되도록 하려면 왼쪽 테이블(이 경우 영화 테이블)의 모든 결과로 구성된 왼쪽 외부 조인을 사용해야 합니다.

예제 출력은 다음과 같습니다.


오른쪽 외부 조인을 사용하여 동일한 작업을 수행할 수도 있습니다. 구문은 다음과 같습니다.

선택하다 *
표 1에서
오른쪽 외부 조인 (
열1, 열2 선택
표 2에서
) AS 하위 쿼리
ON table1.column3 = subquery.column1;


유사하게 동작하지만 일치하는 레코드가 없더라도 오른쪽 테이블의 모든 레코드를 포함합니다.

유용한 정보

하위 쿼리 조인이 매우 유용하고 작업 흐름을 최적화할 수 있지만 주의해서 사용한다는 점을 이해하는 것이 좋습니다.

예를 들어 대규모 데이터 세트와 함께 하위 쿼리 조인을 사용하지 마십시오. 데이터베이스 성능에 영향을 줄 수 있는 광범위한 레코드를 반환할 수 있기 때문입니다.

하위 쿼리 조인을 실행하기 전에 쿼리 분석 도구를 사용하는 것이 좋습니다.

결론

이 자습서에서는 SQL에서 하위 쿼리 및 하위 쿼리 조인 작업의 기본 사항을 살펴보았습니다. 이 자습서를 마치면 이제 하위 쿼리 조인을 사용하는 방법, 조인을 사용해야 하는 이유, 워크플로에서 조인이 어떻게 도움이 되는지에 대한 실제 예를 이해할 수 있습니다.