select
*
from
A join B
on A.date = B.date
위 쿼리의 결과는 두 테이블의 date 칼럼이 같은 경우 table을 join해서 반환한다.
만약 "전날보다 특정 값이 큰 경우만 반환" 하라고 문제가 주어지면 어떻게 할 것인가?
이것 또한 join을 통해 해결할 수 있다.
select
*
from
A join B
on datediff(A.date, B.date) = 1
where
A.value > B.value
위 쿼리의 경우 B테이블 날짜와 A테이블 날짜가 하루 차이나면서 A의 값이 더 큰 경우를 반환한다.
JOIN ~ ON 은 관성적으로 칼럼 = 칼럼 으로만 사용하지만 사실 더 다양하게 사용할 수 있다.ON 은 마치 WHERE처럼 사용할 수 있다는 것을 유념하자.