๐Ÿฌ MySQL/Programmers ํ’€์ด

[Programmers] ๋ณดํ˜ธ์†Œ์—์„œ ์ค‘์„ฑํ™”ํ•œ ๋™๋ฌผ (Lv.4)

Chloe._. 2022. 9. 2. 21:46

๋ฐฉ๋ฒ• 1 : INNER JOIN

SELECT animal_id, i.animal_type, i.name
FROM animal_ins i JOIN animal_outs o USING(animal_id)
WHERE (i.sex_upon_intake LIKE 'Intact%')
    AND (o.sex_upon_outcome NOT LIKE 'Intact%')
ORDER BY animal_id

inํ…Œ์ด๋ธ”์—์„  ์ค‘์„ฑํ™”์—ฌ๋ถ€๊ฐ€ Intact%์ด๊ณ , outํ…Œ์ด๋ธ”์—์„  Spayed% ๋˜๋Š” Neutered%์ธ ๋™๋ฌผ์„ ์ฐพ๋Š” ๋ฌธ์ œ๋‹ค.

NOT LIKE ๋ฅผ ์จ๋ณธ ์ ์ด ์—†์–ด์„œ ์žˆ๋Š” ์˜ˆ์•ฝ์–ด์ผ๊นŒ ์‹ถ์—ˆ๋Š”๋ฐ ๋จนํ˜”๋‹ค.

์–ด์ฐจํ”ผ ์–‘์ชฝ์— ๋‹ค ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ๊ตณ์ด LEFT๊ฐ€ ์•„๋‹Œ INNER JOIN์„ ํ•ด๋„ ๋œ๋‹ค.

 

'์งˆ๋ฌธํ•˜๊ธฐ'์— ๋“ค์–ด๊ฐ€๋ฉด ์ฐธ ๋‹ค์–‘ํ•˜๊ฒŒ ํ‘ผ ์‚ฌ๋žŒ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

๋‹ค์–‘ํ•ด์„œ ์ฝ์–ด๋ณด๊ณ  ์ธ์‚ฌ์ดํŠธ ์–ป๊ธฐ๋„ ํ•˜์ง€๋งŒ.. ๊ฐ€๋”์€ ์™œ ์ด๋ ‡๊ฒŒ๊นŒ์ง€ ๊ธด ์ฟผ๋ฆฌ๋ฅผ ์“ฐ์…จ์ง€ ํ•œ๋ˆˆ์— ์•ˆ ๋“ค์–ด์™€ ๋‚ด๊ฐ€ ์ดˆ๋ผํ•ด๋ณด์ด๋Š” ์ฐฉ๊ฐ์ด ๋“ค ๋•Œ๋„ ์žˆ๋‹ค(์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์„ฑ๋Šฅ ์ƒ๊ฐํ•ด์„œ Ins์™€ Outs ํ…Œ์ด๋ธ” ๋‘๊ฐœ๋ฅผ ์ „์ฒด ์กฐ์ธํ•˜์ง€ ์•Š๊ณ  ๊ฐ๊ฐ ํ•„ํ„ฐ๋ง ํ›„ ์กฐ์ธํ•˜์‹  ๊ฑฐ ๊ฐ™๋‹ค)

 

๋ฐฉ๋ฒ• 2 : ์„œ๋ธŒ์ฟผ๋ฆฌ

SELECT animal_id, animal_type, name 
FROM animal_ins
WHERE sex_upon_intake LIKE 'Intact%'
    AND animal_id IN (
        SELECT animal_id
        FROM animal_outs
        WHERE sex_upon_outcome NOT LIKE 'Intact%')
ORDER BY 1

WHER + IN ์œผ๋กœ ๋‹จ์ผํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

๋‹ค๋งŒ ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ฉ”์ธ์ฟผ๋ฆฌ 1๋ฒˆ์„ ์‹คํ–‰ํ•  ๋•Œ ์„œ๋ธŒ์ฟผ๋ฆฌ๊ฐ€ animal_id๋ฅผ ์„œ๋ธŒ์ฟผ๋ฆฌ์™€ ๋งค๋ฒˆ ๋น„๊ตํ•ด์•ผ ํ•ด ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค

 

 

์‰ฝ๋‹ค... ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋Š” ์‰ฝ๊ตฌ๋‚˜... ์ด๊ฒŒ ์ตœ์ข…๋ ˆ๋ฒจ์ด๋ผ๋‹ˆ...