์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๋ฆฌ๋์ค ํดํท
- ๊ณผ์ ํ ์คํธ
- ์ฝํ
- ์นด์นด์ค
- ๋๋๊ทธ ์ด๋ฒคํธ
- DP
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- ์นด์นด์ค์ฑ์ฉ
- ์ฝ๋ฉํ ์คํธ
- ์ด๋ฏธ์ง ์์
- TypeScript
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ์๊ณ ๋ฆฌ์ฆ
- router v6
- ๋์ ๊ณํ๋ฒ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ธ๋ฃจํธํฌ์ค
- custom hook
- Node.js
- icecandidate
- Redux toolkit
- JavaScript
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- js
- ๋ฐฑ์ค
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- ์ฝ๋ ํฌ๋ฉง
- React
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์ด๋ถํ์
- Today
- Total
๐ฅ dev-ruby
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ณดํธ์์์ ์ค์ฑํํ ๋๋ฌผ - SQL <JOIN> ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ณดํธ์์์ ์ค์ฑํํ ๋๋ฌผ - SQL <JOIN>
ruby_s 2021. 11. 20. 23:03๋ฌธ์ ์ค๋ช
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 ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.ANIMAL_TYPE, ANIMAL_OUTS.NAME
FROM ANIMAL_OUTS LEFT JOIN ANIMAL_INS
ON ANIMAL_OUTS.ANIMAL_ID=ANIMAL_INS.ANIMAL_ID
WHERE ANIMAL_INS.SEX_UPON_INTAKE LIKE '%Intact%'
AND ANIMAL_OUTS.SEX_UPON_OUTCOME
NOT LIKE '%Intact%'
ORDER BY ANIMAL_ID;