728x90
customers 테이블
orders 테이블
JOIN 하기
두개 테이블을 하나로 합쳐서 가져오기
select *
from customers
join orders
on customers.id = orders.customer_id;
테이블의 이름을 줄여서 사용하는 방법
테이블명 바꿀이름(보통 첫글자를 따옴)
select *
from customers c
join orders o
on c.id = o.customer_id;
만일 컬럼의 이름이 중복되는 경우는컬럼명을 바꿔서 가져와야 한다.
위의 경우는 id가 서로 다르지만 동일한 컬럼처럼 보인다.
이런 경우는 아래처럼 바꿔야한다.
select c.id as customer_id, c.first_name, c.email,
o.id as order_id, o.amount, o.order_date
from customers c
join orders o
on c.id = o.customer_id;
LEFT JOIN
앞의 테이블은 모든 데이터를 가져오는 방법
모든 고객 데이터를 가져오되, 주문정보가 없는 고객도 나타나도록 가져오는 방법
select *
from customers c
left join orders o
on c.id = o.customer_id;
728x90
'MySQL' 카테고리의 다른 글
MySQL - foreign keys 로 연결된 데이터 삭제하기 (0) | 2022.12.08 |
---|---|
MySQL - foreign keys 설정하기 (0) | 2022.12.08 |
MySQL - if 함수로 조건 처리하기 (조건 1개) (0) | 2022.12.07 |
MySQL - case 문 작성법(조건 여러개) (0) | 2022.12.07 |
MySQL - null인 데이터를 가져오는 방법 (is null, is not null) (0) | 2022.12.07 |