문제
풀이 1
SELECT A.ANIMAL_ID, B.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.DATETIME > B.DATETIME AND A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY A.DATETIME
WHERE절 비교 연산자 (>) 와 논리 연산자 (AND)를 사용한 풀이
풀이 2
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A JOIN ANIMAL_OUTS B
ON A.DATETIME > B.DATETIME AND A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY A.DATETIME
JOIN과 ON을 이용하여 푼 풀이
풀이 3
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A JOIN ANIMAL_OUTS B USING (ANIMAL_ID)
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME
JOIN과 USING을 사용한 풀이
USING
두 개의 테이블이 내부 조인으로 조인 될 때, 조인하고자 하는 두 테이블의 컬럼명이 같을 경우 조인 조건을 길게 적지 않고 간단하게 적을 수 있도록 하는 역할
USING과 ON의 차이점
USING : 조인에 이용되는 컬럼을 표기함으로써 가독성을 높이는 효과가 있다. 등가 조인일 경우 사용한다.
ON : 조인조건의 컬럼명이 서로 다르거나, 비등가 조인일 경우에 많이 사용한다
- 등가 조인: 일반 조건에 등호(=)를 사용하는 조인
- 비등가 조인: 일반 조건에 부등호(>,<, BETWEEN A AND B...)를 사용하는 조인
https://devjhs.tistory.com/409
'DataBase > SQL Queries' 카테고리의 다른 글
[프로그래머스]JOIN - 없어진 기록 찾기 / LEFTJOIN, 서브쿼리(Subqueries) (0) | 2022.03.22 |
---|---|
[프로그래머스] IS NULL, IS NOT NULL, IF NULL (0) | 2022.03.18 |
[프로그래머스] GROUP BY - 입양 시각 구하기(2) / 매 시간대별 통계, JOIN, IFNULL (0) | 2022.03.18 |
[프로그래머스] GROUP BY - 입양 시각 구하기(1) / 통계 유형별 조회, BETWEEN (0) | 2022.03.07 |
[프로그래머스]GROUP BY - 동명 동물 수 찾기 (0) | 2022.02.09 |