Camp/SQL
SQL02 - JOIN
뭔가 한다
2024. 10. 1. 18:03
JOIN
엑셀의 vlookup과 유사
각 테이블 내의 정보를 비교하여 조회
LEFT JOIN
공통된 값을 기준으로 테이블 중 컬럼값이 부족하더라도 모든 로우가 조회된다.
select 조회 할 컬럼
from 테이블1 alias1 left join 테이블2 alias2 on alias1.공통컬럼명=alias2.공통컬럼명
INNER JOIN
left join과 동일하나 부족한 값이 있는 로우는 조회하지 않는다.
select 조회 할 컬럼
from 테이블1 alias1 inner join 테이블2 alias2 on alias1.공통컬럼명=alias2.공통컬럼명
join + sub query 사용 중 발생한 error
SQL Error [1248] [42000]: Every derived table must have its own alias
원인
서브쿼리 사용중에 괄호 뒤에 alias 를 지정하지 않아서 발생하는 error
해결
서브쿼리 괄호 뒤에 alias 기입
Oracle은 괜찮은데 mysql에서는 오류가 발생한다고 함
SQL Error [1054] [42S22]: Unknown column 'price' in 'field list'
원인
subquery 사용 중 form 내부 inner join 사용하여 그룹화를 진행하던 중 그룹화한 데이터에 alias값을 지정해 주지 않아서 없는 coulm으로 받아들였다.
해결
난 바보야