본문 바로가기
Camp/SQL

SQL02 - JOIN

by 뭔가 한다 2024. 10. 1.

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으로 받아들였다.

해결

난 바보야

'Camp > SQL' 카테고리의 다른 글

SQL01 - 문자 활용, 조건문  (0) 2024.10.01