๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/59045
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค.
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
ANIMAL_OUTS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์์ ์ ์ ๋ณด๋ธ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_OUTS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ์ ์์ผ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. ANIMAL_OUTS ํ ์ด๋ธ์ ANIMAL_ID๋ ANIMAL_INS์ ANIMAL_ID์ ์ธ๋ ํค์ ๋๋ค.
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_OUTCOME | VARCHAR(N) | FALSE |
๋ฌธ์
๋ณดํธ์์์ ์ค์ฑํ ์์ ์ ๊ฑฐ์น ๋๋ฌผ ์ ๋ณด๋ฅผ ์์๋ณด๋ ค ํฉ๋๋ค. ๋ณดํธ์์ ๋ค์ด์ฌ ๋น์์๋ ์ค์ฑํ1๋์ง ์์์ง๋ง, ๋ณดํธ์๋ฅผ ๋๊ฐ ๋น์์๋ ์ค์ฑํ๋ ๋๋ฌผ์ ์์ด๋์ ์๋ฌผ ์ข , ์ด๋ฆ์ ์กฐํํ๋ ์์ด๋ ์์ผ๋ก ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
์์
์๋ฅผ ๋ค์ด. ANIMAL_INS ํ ์ด๋ธ๊ณผ ANIMAL_OUTS ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
ANIMAL_INS
ANIMAL _ID |
ANIMAL _TYPE |
DATETIME | INTAKE _CONDITION |
NAME | SEX_UPON _INTAKE |
A367438 | Dog | 2015-09-10 16:01:00 |
Normal | Cookie | Spayed Female |
A382192 | Dog | 2015-03-13 13:14:00 |
Normal | Maxwell 2 | Intact Male |
A405494 | Dog | 2014-05-16 14:17:00 |
Normal | Kaila | Spayed Female |
A410330 | Dog | 2016-09-11 14:09:00 |
Sick | Chewy | Intact Female |
ANIMAL_OUTS
ANIMAL _ID |
ANIMAL _TYPE |
DATETIME | NAME | SEX_UPON _OUTCOME |
A367438 | Dog | 2015-09-12 13:30:00 | Cookie | Spayed Female |
A382192 | Dog | 2015-03-16 13:46:00 | Maxwell 2 | Neutered Male |
A405494 | Dog | 2014-05-20 11:44:00 | Kaila | Spayed Female |
A410330 | Dog | 2016-09-13 13:46:00 | Chewy | Spayed Female |
- Cookie๋ ๋ณดํธ์์ ๋ค์ด์ฌ ๋น์์ ์ด๋ฏธ ์ค์ฑํ๋์ด ์์์ต๋๋ค.
- Maxwell 2๋ ๋ณดํธ์์ ๋ค์ด์จ ํ ์ค์ฑํ๋์์ต๋๋ค.
- Kaila๋ ๋ณดํธ์์ ๋ค์ด์ฌ ๋น์์ ์ด๋ฏธ ์ค์ฑํ๋์์ต๋๋ค.
- Chewy๋ ๋ณดํธ์์ ๋ค์ด์จ ํ ์ค์ฑํ๋์์ต๋๋ค.
๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
ANIMAL_ID | ANIMAL_TYPE | NAME |
A382192 | Dog | Maxwell 2 |
A410330 | Dog | Chewy |
๋ด๊ฐ ์์ฑํ ์ฝ๋
SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AI.NAME
FROM ANIMAL_INS AI INNER JOIN ANIMAL_OUTS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE LIKE "Intact%" AND (AO.SEX_UPON_OUTCOME LIKE "Spayed%" OR AO.SEX_UPON_OUTCOME LIKE "Neutered%")
ORDER BY AI.ANIMAL_ID;
์ฝ๋ ์ค๋ช
- SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AI.NAME : ANIMAL_INS ํ ์ด๋ธ์ ANIMAL_ID, ANIMAL_TYPE, NAME ์ปฌ๋ผ์ ์ ํํ๋ค.
- FROM ANIMAL_INS AI INNER JOIN ANIMAL_OUTS AO : ANIMAL_INS๋ฅผ AI๋ก, ANIMAL_OUTS๋ฅผ AO๋ก ์ ์ธํ๊ณ INNER JOIN์ ์งํํ๋ค.
- ON AI.ANIMAL_ID = AO.ANIMAL_ID : INNER JOIN์ ์กฐ๊ฑด์ AI.ANIMAL_ID์ AO.ANIMAL_ID๊ฐ ๊ฐ์ ๋ฐ์ดํฐ๋ค์ด๋ค.
- WHERE AI.SEX_UPON_INTAKE LIKE "Intact%" AND (AO.SEX_UPON_OUTCOME LIKE "Spayed%" OR AO.SEX_UPON_OUTCOME LIKE "Neutered%") : AI.SEX_UPON_INTAKE๊ฐ "Intact%" ํ์์ผ๋ก ๋์ด ์๊ณ , AO.SEX_UPON_OUTCOME์ด "Spayed%" ๋๋ "Neutered%" ํ์์ผ๋ก ๋์ด ์๋ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์จ๋ค.
- ORDER BY AI.ANIMAL_ID : AI.ANIMAL_ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค > ์๊ณ ๋ฆฌ์ฆ ํ์ด(SQL)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค_์กฐ๊ฑด๋ณ๋ก ๋ถ๋ฅํ์ฌ ์ฃผ๋ฌธ์ํ ์ถ๋ ฅํ๊ธฐ (1) | 2024.12.13 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค_์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(2) (0) | 2024.11.22 |
ํ๋ก๊ทธ๋๋จธ์ค_์์๋๋ฐ์ ์์์ต๋๋ค (0) | 2024.11.21 |
ํ๋ก๊ทธ๋๋จธ์ค_์ํ ๋ณ ์คํ๋ผ์ธ ๋งค์ถ ๊ตฌํ๊ธฐ (0) | 2024.11.20 |
ํ๋ก๊ทธ๋๋จธ์ค_์นดํ ๊ณ ๋ฆฌ ๋ณ ๋์ ํ๋งค๋ ์ง๊ณํ๊ธฐ (1) | 2024.11.19 |