본문 바로가기
프로그래머스/[프로그래머스 - ORACLE] Lv.1

[프로그래머스 - ORACLE] 없어진 기록 찾기

by 코딩하는 흰둥이 2023. 3. 21.
반응형


CREATE 문
CREATE TABLE ANIMAL_INS (
ANIMAL_ID			VARCHAR2(100)		NOT NULL PRIMARY KEY,
ANIMAL_TYPE			VARCHAR2(100)		NOT NULL,
DATETIME			TIMESTAMP		NOT NULL,
INTAKE_CONDITION		VARCHAR2(100)		NOT NULL,
NAME				VARCHAR2(100)		NULL,
SEX_UPON_INTAKE			VARCHAR2(100)		NOT NULL
)





CREATE TABLE ANIMAL_OUTS  (
ANIMAL_ID			VARCHAR2(100)			NOT NULL ,
ANIMAL_TYPE			VARCHAR2(100)			NOT NULL,
DATETIME			TIMESTAMP			NOT NULL,
NAME				VARCHAR2(100)			NULL,
SEX_UPON_OUTCOME		VARCHAR2(100)			NOT NULL,
CONSTRAINT FK_ANIMAL_ID FOREIGN KEY(ANIMAL_ID) REFERENCES ANIMAL_INS(ANIMAL_ID)
)

 


  • 내 풀이
SELECT 
    O.ANIMAL_ID, 
    O.NAME
FROM ANIMAL_INS I RIGHT JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID=O.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY O.ANIMAL_ID,O.NAME;

ANIMAL_INS에는 유실되었고 ANIMAL_OUT에는 남아 있기 때문에 RIGHT JOIN을 함

댓글