๋ฃจ์์ ์๋ผ ์ฐพ๊ธฐ
Q. ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค ์ด๋ฆ์ด Lucy, Ella, Pickle, Rogan, Sabrina, Mitty์ธ ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์์ด๋ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
ANIMAL_ID | NAME | SEX_UPON_INTAKE |
A373219 | Ella | Spayed Female |
A377750 | Lucy | Spayed Female |
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy','Ella','Pickle','Rogan', 'Sabrina', 'Mitty')
์ด๋ฆ์ EL์ด ๋ค์ด๊ฐ๋ ๋๋ฌผ ์ฐพ๊ธฐ
Q. ๋ณดํธ์์ ๋์๊ฐ์ ํ ๋จธ๋๊ฐ ๊ธฐ๋ฅด๋ ๊ฐ๋ฅผ ์ฐพ๋ ์ฌ๋์ด ์ฐพ์์์ต๋๋ค. ์ด ์ฌ๋์ด ๋งํ๊ธธ ํ ๋จธ๋๊ฐ ๊ธฐ๋ฅด๋ ๊ฐ๋ ์ด๋ฆ์ 'EL'์ด ๋ค์ด๊ฐ๋ค๊ณ ํฉ๋๋ค. ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ด๋ฆ ์ค, ์ด๋ฆ์ 'EL'์ด ๋ค์ด๊ฐ๋ ๊ฐ์ ์์ด๋์ ์ด๋ฆ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์ด๋ฆ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์. ๋จ, ์ด๋ฆ์ ๋์๋ฌธ์๋ ๊ตฌ๋ถํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
ANIMAL_ID | NAME |
A355753 | Eijah |
A382192 | Maxwell 2 |
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
์ค์ฑํ ์ฌ๋ถ ํ์ ํ๊ธฐ
Q. ๋ณดํธ์์ ๋๋ฌผ์ด ์ค์ฑํ๋์๋์ง ์๋์ง ํ์ ํ๋ ค ํฉ๋๋ค. ์ค์ฑํ๋ ๋๋ฌผ์ SEX_UPON_INTAKE ์ปฌ๋ผ์ 'Neutered' ๋๋ 'Spayed'๋ผ๋ ๋จ์ด๊ฐ ๋ค์ด์์ต๋๋ค. ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ, ์ค์ฑํ ์ฌ๋ถ๋ฅผ ์์ด๋ ์์ผ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ค์ฑํ๊ฐ ๋์ด์๋ค๋ฉด 'O', ์๋๋ผ๋ฉด 'X'๋ผ๊ณ ํ์ํด์ฃผ์ธ์.
๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
ANIMAL_ID | NAME | ์ค์ฑํ |
A355753 | Elijah | O |
A373219 | Ella | O |
A355753 | Maxwell 2 | X |
SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%NEUTERED%' OR SEX_UPON_INTAKE LIKE '%SPAYED%','O','X') AS '์ค์ฑํ'
FROM ANIMAL_INS
๋๋ ์ด๋ ๊ฒ ์งฐ๋๋ฐ ๋๋ฌด ์ง์ ๋ถํ ๊ฒ ๊ฐ์์
์ฌ๋๋ค ์ง ์ฟผ๋ฆฌ๋ณด๋๊น ๋ฐ๋๋ก IF๋ฌธ์ ์ค ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๊ฒฌํด๋ฐ.
ํจ์ฌ ๋ ๊น๋ํ ๋ฏ.
SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%INTACT%, 'X', 'O') AS '์ค์ฑํ'
FROM ANIMAL_INS
์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(2)
Q. ์ ์์ ๊ฐ ๋๋ฌผ ์ค, ๋ณดํธ๊ธฐ๊ฐ์ด ๊ฐ์ฅ ๊ธธ์๋ ๋๋ฌผ ๋ ๋ง๋ฆฌ์ ์์ด๋์ ์ด๋ฆ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ๋ณดํธ ๊ธฐ๊ฐ์ด ๊ธด ์์ผ๋ก ์กฐํํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
ANIMAL_ID | NAME |
A362707 | Girly Girl |
A370507 | Emily |
SELECT A.ANIMAL_ID, B.NAME
FROM ANIMAL_OUTS A, ANIMAL_INS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY DATEDIFF(A.DATETIME , B.DATETIME) DESC
LIMIT 2
ํ ,,, ์ด๊ฑด ๋ด ์ฟผ๋ฆฌ๊ฐ ๊น๋ํ ๋ฏ!
*DATEDIFF(๋ ์ง1, ๋ ์ง2)
๐ ๋จ์ํ ๋ ๋ ์ง๊ฐ์ ์ผ ์ฐจ์ด๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ.
*LIMIT ์์์ , ๊ฐ์
๐ ํ ์ด๋ธ ์กฐํ ์ ํ๊ณ๋ฅผ ์ง์ ํ ์ ์์. ์์ N๊ฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฃผ๋ก ์ฌ์ฉ.
DATETIME์์ DATE๋ก ํ ๋ณํ
Q. ANIMAL_INS ํ ์ด๋ธ์ ๋ฑ๋ก๋ ๋ชจ๋ ๋ ์ฝ๋์ ๋ํด, ๊ฐ ๋๋ฌผ์ ์์ด๋์ ์ด๋ฆ, ๋ค์ด์จ ๋ ์ง๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์์ด๋ ์์ผ๋ก ์กฐํํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
ANIMAL_ID | NAME | ๋ ์ง |
A349996 | Sugar | 2018-01-22 |
A350276 | Jewel | 2017-08-13 |
A350375 | Meo | 2017-03-06 |
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '๋ ์ง'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
* DATE_FORMAT( ๋ ์ง, 'ํฌ๋งท')
๐ ๋ ์ง ํฌ๋งท์ ์ง์ ํ๊ฑฐ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ.
๐ EX) SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %T'); >>> 2021-03-30 12:00:00