문제 : programmers.co.kr/learn/courses/30/lessons/59045
쿼리
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM
(
SELECT B.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME, A.SEX_UPON_INTAKE
FROM ANIMAL_INS AS A
INNER JOIN
(
SELECT ANIMAL_ID
FROM ANIMAL_INS
) AS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE SEX_UPON_INTAKE LIKE 'Intact%'
)AS A
INNER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID AND A.SEX_UPON_INTAKE <> B.SEX_UPON_OUTCOME
쿼리2
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM
(
SELECT ANIMAL_ID, ANIMAL_TYPE, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS AS A
WHERE SEX_UPON_INTAKE LIKE 'Intact%'
)AS A
INNER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID AND A.SEX_UPON_INTAKE <> B.SEX_UPON_OUTCOME
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME
FROM ANIMAL_INS AS A
INNER JOIN ANIMAL_OUTS AS B
ON A.ANIMAL_ID = B.ANIMAL_ID AND A.SEX_UPON_INTAKE <> B.SEX_UPON_OUTCOME
WHERE A.SEX_UPON_INTAKE LIKE 'Intact%'
2번 쿼리를 묶어논 이유는 내가 자주 안 쓰기 때문에... 데이터가 저장이 얼마 안되는 경우 사용하길 바란다.
데이터가 많은 경우 1번 쿼리도 정보를 미리 빼서 쓰는 형식으로 약간 변경해야 한다.
1번 쿼리 만드는 데 소요된 시간 3~5분?? 문제 이해하는데 3분이 걸려서...
'Mysql' 카테고리의 다른 글
Mysql Procedure Index 문제 (0) | 2021.04.02 |
---|---|
프로그래머스 Sql 4단계 2번 루시와 엘라 찾기 (0) | 2020.12.21 |
Mysql Connection Timeout (0) | 2019.07.11 |
Mysql Master Slave 동기화 끊겼을 시 처리 (0) | 2019.05.13 |
Mysql 동적쿼리 결과값 반환 (0) | 2019.03.20 |