SELECT
모든 레코드 조회하기
SELECT * FROM ANIMAL_INS
역순 정렬하기
SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC
아픈 동물 찾기
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = "Sick"
어린 동물 찾기
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NOT INTAKE_CONDITION = "Aged"
동물의 아이디와 이름
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
여러 기준으로 정렬하기
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME , DATETIME DESC
상위 n개 레코드
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1
SUM, MAX, MIN
최댓값 구하기
AS로 필드명 정하기
SELECT MAX(DATETIME) AS '시간'
FROM ANIMAL_INS
최솟값 구하기
SELECT MIN(DATETIME) AS '시간'
FROM ANIMAL_INS
동물 수 구하기
SELECT COUNT(*)
FROM ANIMAL_INS
중복 제거하기
SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;
GROUP BY
고양이와 개는 몇 마리 있을까
select ANIMAL_TYPE, count(ANIMAL_TYPE)
from ANIMAL_INS
group by ANIMAL_TYPE
order by ANIMAL_TYPE
동명 동물 수 찾기
이름이 없는 동물은 집계에서 제외 -> where NAME is NOT NULL
동물 이름 중 두 번 이상 쓰인 이름 -> group by NAME ,HAVING count(NAME) >=2
결과는 이름 순으로 조회 -> order by NAME
select NAME, count(NAME)
from ANIMAL_INS
where NAME is NOT NULL
group by NAME
HAVING count(NAME) >=2
order by NAME
입양 시각 구하기1
HOUR -> 시간 추출
GROUP BY HOUR(DATETIME) -> 시간대별로 그룹화
HAVING HOUR >= 9 and HOUR <= 19 -> 9-19 사이만 조회
order by HOUR -> 오름차순 정렬
SELECT HOUR(DATETIME) HOUR, COUNT(DATETIME) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
HAVING HOUR >= 9 and HOUR <= 19
order by HOUR
입양 시각 구하기2 -서브쿼리
SET @hour로 변수 선언할 수 있다. (@hour := @hour + 1) as hour
서브 쿼리로 시간대별 조회
SET @hour := -1; -- 변수 선언
SELECT (@hour := @hour + 1) as HOUR,
(SELECT COUNT(*) FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) = @hour) as COUNT
FROM ANIMAL_OUTS
WHERE @hour < 23
IS NULL
이름이 없는 동물 아이디
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME is NULL
이름이 있는 동물 아이디
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME is NOT NULL
order by ANIMAL_ID
NULL 처리하기 - IFNULL로 널 값일때 세팅
SELECT ANIMAL_TYPE,
IFNULL(NAME, "No name") AS NAME,
SEX_UPON_INTAKE
FROM ANIMAL_INS
내용이 길어 다음 장에 JOIN, STRING, DATE에 대해 알아 보겠습니다.
'언어 & 라이브러리 > SQL' 카테고리의 다른 글
[SQL] 프로그래머스 SQL 고득점 KIT 문제 풀이 정답 -2 (0) | 2022.04.02 |
---|---|
SQLZOO The JOIN operation 문제 풀이 (0) | 2022.01.19 |
해커랭크 HackerRank New Companies Advanced Select (0) | 2022.01.19 |
해커랭크 HackerRank Binary Tree Nodes Advanced Select (0) | 2022.01.19 |
해커랭크 HackerRank The PADS Advanced Select (0) | 2022.01.19 |
댓글