본문 바로가기

DataBase/SQL Queries

[프로그래머스] JOIN - 있었는데요 없었습니다 / USING

문제

 

풀이 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://dog-foot-story.tistory.com/entry/Oracle-07-Using-On-%EB%93%B1%EA%B0%80-%EC%A1%B0%EC%9D%B8%EA%B3%BC-%EB%B9%84%EB%93%B1%EA%B0%80-%EC%A1%B0%EC%9D%B8?category=745656 

 

[Oracle] 07. Using, On, 등가 조인과 비등가 조인

Using 2개의 다른 테이블을 조인 할 때 2개의 테이블이 공통적으로 가지고 있는 컬럼을 조인조건으로 조인을 수행한다. 그런데 만약 이름과 타입이 모두 같지만 내용은 전혀 다른 컬럼이 존재한다

dog-foot-story.tistory.com

https://devjhs.tistory.com/409

 

[oracle] USING - JOIN 사용시 조인 조건을 간단히

1. USING - 역할 두 개의 테이블이 내부 조인으로 조인 될 때 조인하고자 하는 두 테이블의 컬럼명이 같을 경우 조인 조건을 길게 적지 않고 간단하게 적을 수 있도록 하는 역할 2. USING - 기본 테

devjhs.tistory.com