๐ ์ต์๊ฐ ๊ตฌํ๊ธฐ
๋๋ฌผ ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ธ์ ๋ค์ด์๋์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT MIN(DATETIME) AS "์๊ฐ"
FROM ANIMAL_INS;
๐ ๋๋ฌผ ์ ๊ตฌํ๊ธฐ
๋๋ฌผ ๋ณดํธ์์ ๋๋ฌผ์ด ๋ช ๋ง๋ฆฌ ๋ค์ด์๋์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
SELECT COUNT(*) AS "count"
FROM ANIMAL_INS;
๐ ์ค๋ณต ์ ๊ฑฐํ๊ธฐ
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ด๋ฆ์ ๋ช ๊ฐ์ธ์ง ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ด๋ฆ์ด NULL์ธ ๊ฒฝ์ฐ๋ ์ง๊ณํ์ง ์์ผ๋ฉฐ ์ค๋ณต๋๋ ์ด๋ฆ์ ํ๋๋ก ์นฉ๋๋ค.
SELECT COUNT(DISTINCT NAME) AS "count"
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
- COUNT ํ๋ ค๋ column์์ ์ค๋ณต์ ์ ๊ฑฐํ๋ ค๋ฉด
COUNT(DISTINCT column)
์ผ๋ก ํ ์ ์๋ค!
๐ ๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ค ๊ณ ์์ด์ ๊ฐ๊ฐ ๊ฐ๊ฐ ๋ช ๋ง๋ฆฌ์ธ์ง ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ณ ์์ด๋ฅผ ๊ฐ๋ณด๋ค ๋จผ์ ์กฐํํด์ฃผ์ธ์.
SELECT ANIMAL_TYPE, COUNT(*) AS "count"
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE;
- GROUP BY : ์ปฌ๋ผ ๊ฐ(ANIMAL_TYPE)์ด ๊ฐ์ ๊ฒ ๋ผ๋ฆฌ ํ๋๋ก ๋ฌถ์ด์ค๋ค.
๐ NULL ์ฒ๋ฆฌํ๊ธฐ
์ ์ ๊ฒ์ํ์ ๋๋ฌผ ์ ๋ณด๋ฅผ ๊ฒ์ํ๋ ค ํฉ๋๋ค.
๋๋ฌผ์ ์๋ฌผ ์ข , ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ์์ด๋ ์์ผ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
์ด๋ ํ๋ก๊ทธ๋๋ฐ์ ๋ชจ๋ฅด๋ ์ฌ๋๋ค์ NULL์ด๋ผ๋ ๊ธฐํธ๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์, ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์ด๋ฆ์ "No name"์ผ๋ก ํ์ํด ์ฃผ์ธ์.
SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
- IFNULL(์ปฌ๋ผ๋ช , NULL์ผ ๊ฒฝ์ฐ ์ ๋ ฅํ ๊ฐ)
๐ ๋๋ช ๋๋ฌผ ์ ์ฐพ๊ธฐ
๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ ์ด๋ฆ ์ค ๋ ๋ฒ ์ด์ ์ฐ์ธ ์ด๋ฆ๊ณผ ํด๋น ์ด๋ฆ์ด ์ฐ์ธ ํ์๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์ง๊ณ์์ ์ ์ธํ๋ฉฐ, ๊ฒฐ๊ณผ๋ ์ด๋ฆ ์์ผ๋ก ์กฐํํด์ฃผ์ธ์.
SELECT NAME, COUNT(*) AS "COUNT"
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME;
'SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] Programmers : Level 4 (0) | 2021.03.26 |
---|---|
[SQL] Programmers : Level 3 (0) | 2021.03.25 |
[SQL] Programmers : Level 2(2) (0) | 2021.03.10 |
[SQL] Programmers : Level 1(2) (0) | 2021.03.09 |
[SQL] Programmers : Level 1(1) (0) | 2021.03.08 |
๋๊ธ