[ํ๋ก๊ทธ๋๋จธ์ค] ๋ณดํธ์์์ ์ค์ฑํํ ๋๋ฌผ (SQL/JOIN)
SELECT B.ANIMAL_ID, B.ANIMAL_TYPE, B.NAME // ์กฐํํ COLUMN
FROM ANIMAL_INS A
RIGHT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID // ๋์ผํ ๋๋ฌผ, ์ฆ ANIMAL_ID์์
WHERE A.SEX_UPON_INTAKE LIKE '%Intact%' AND B.SEX_UPON_OUTCOME NOT LIKE '%Intact%' // A์๋ Intact๊ฐ ์๋๋ฐ(์ค์ฑํ X) B์๋ Intact๊ฐ ์๋(์ค์ฑํ O) ์กฐ๊ฑด
ORDER BY ANIMAL_ID ASC; // ์ด๋ฆ ์ ์ ๋ ฌ
๋ค์ด์ฌ ๋ ์ค์ฑํ X, ๋๊ฐ ๋ ์ค์ฑํ O: RIGHT EXCLUSIVE -> TABLE B์์ ANIMAL_ID์ ์กฐํํ์ ๋, WHERE์์ ์ค ์กฐ๊ฑด์ด ๋์ผํ ANIMAL_ID๋ฅผ ๊ฐ๋ TABLE A์ ๋ฐ์ดํฐ์ ๋งค์นญํด์ ์ผ์นํ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ B์ ์๋ ANIMAL_ID ๋ฐ ์นผ๋ผ๋ค์ ๊ฐ์ ธ์จ๋ค.
์ค์ฑํ ์ฌ๋ถ: ์ค์ฑํ ํ์ ๋ Female์ ๊ฒฝ์ฐ Spayed Female์ด๊ณ , Male์ ๊ฒฝ์ฐ Neutral์ด๋ค. ์ค์ฑํํ์ง ์์ ๊ฒฝ์ฐ์๋ Female์ด๋ Male์ด๋ ๋์ผํ๊ฒ Intact๊ฐ ๋ถ์ผ๋ฏ๋ก, A์ SEX_UPON_INTAKE์ Intact๊ฐ ์๋๋ฐ B์ SEX_UPON_OUTCOME์๋ Intact๊ฐ ์๋ ์กฐ๊ฑด์ ์กฐํํ๋ค. => Intact ๋ฌธ์์ด ์ ๋ฌด๋ LIKE์ NOT LIKE
์์ด๋ ์ ์ ๋ ฌ: ORDER BY ANIMAL_ID ASC
SELECT B.ANIMAL_ID, B.ANIMAL_TYPE, B.NAME, B.SEX_UPON_OUTCOME // ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ธฐ ์ํด B.SEX_UPON_OUTCOME๋ ์คฌ๋ค
FROM ANIMAL_INS A
RIGHT OUTER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE LIKE '%Intact%' AND B.SEX_UPON_OUTCOME NOT LIKE '%Intact%'
ORDER BY ANIMAL_ID ASC;
๋ฌธ์ ์์๋ SEX_UPON_OUTCOME์ ์กฐํํ์ง ์๋๋ฐ, ๋ฌธ์ ๋ฅผ ํธ๋ ๊ณผ์ ์์ ์คํํ์ ๋ ์ ๋๋ก ๋์ค๋์ง ํ์ธํ๊ธฐ ์ํด ๋ฃ์ด๋ดค๋ค.
[HackerRank] African Cities (SQL/JOIN) (0) | 2021.02.01 |
---|---|
[HackerRank] Asian Population (SQL/JOIN) (0) | 2021.02.01 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(1) (SQL/JOIN) (0) | 2021.01.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์๋๋ฐ์ ์์์ต๋๋ค (SQL/JOIN) (0) | 2021.01.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ด์ง ๊ธฐ๋ก ์ฐพ๊ธฐ (SQL/JOIN) (0) | 2021.01.23 |