MariaDB SQL

MariaDB Left Join

ssamhago 2023. 6. 13. 12:14
728x90
320x100

MariaDB Left Join

 

 

MariaDB left Join 절을 사용하여 여러 테이블에서 데이터를 쿼리하는 방법을 알아봅니다.

 

 

 

MariaDB left Join 절 소개

 

 

left Join 절을 사용하여 두 테이블 t1 및 t2에서 데이터를 검색한다고 가정합니다. 
다음은 두 테이블을 조인하기 위한 left Join 절의 구문입니다.

select select_list
from t1
left join t2 on join_condition;

이 구문에서 left Join 은 왼쪽 테이블 t1에서 데이터 선택을 시작합니다. 
t1의 각 행을 t2의 모든 행과 비교합니다.

두 행 모두 조인 조건이 true로 평가되면 left Join 은 두 테이블의 행 열을 새 행으로 결합하고 이 행을 결과 집합에 포함합니다.

행이 일치하지 않는 경우 left Join 은 여전히 두 테이블의 열 조합인 열이 포함된 새 행을 생성합니다. 
그러나 오른쪽 테이블의 열에 대해 null 값을 사용합니다.

다음 다이어그램은 left Join 작업을 보여줍니다.

left join

 

일반적으로 등호 연산자(=)를 사용하여 행을 일치시켜 테이블을 조인하고 왼쪽 테이블(t1)의 기본 키 열을 사용하여 오른쪽 테이블(t2)의 외래 키 열과 일치시킵니다.

select select_list
from t1
left join t2 on t1.column1 = t2.column1;


조인 비교열의 이름이 같은 경우 using 구문을 사용할 수 있습니다.

select select_list
from t1
left join t2 using (column1);


3개 이상의 테이블을 조인하려면 다음과 같이 select 문에 left Join 절을 추가하기만 하면 됩니다.

select select_list
from t1
left join t2 on join_condition2
left join t3 on join_condition2
...;

 

 

 

MariaDB left Join 절 예제

 

 

샘플 데이터베이스에서 다음 테이블 countries 및 country_stats를 고려합니다.

sample tables

 

이 예에서는 left Join 절을 사용하여 countries 테이블을 country_stats 테이블과 조인하여 국가 및 해당 GDP를 찾습니다.

select
    name, year, gdp
from countries c
left join country_stats s on s.country_id = c.country_id
order by name;

left join

 

using 구문을 사용하는 동일한 쿼리는 다음과 같습니다

select
    name, year, gdp
from countries
left join country_stats
    using (country_id)
order by name;

 

GDP 정보가 없는 국가를 찾으려면 다음 쿼리를 사용합니다.

select
    name, year, gdp
from countries
left join country_stats using (country_id)
where
    gdp is null
order by name;

is null

 


이상으로 MariaDB left join 절을 사용하여 여러 테이블에서 데이터를 쿼리하는 방법을 알아봤습니다.

 

 

※ 원문출처 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-left-join/

728x90
반응형

'MariaDB SQL' 카테고리의 다른 글

MariaDB Having  (0) 2023.06.15
MariaDB Group By  (0) 2023.06.14
MariaDB Inner Join  (0) 2023.06.08
MariaDB Join  (0) 2023.06.07
MariaDB Is Null  (0) 2023.06.05