반응형
최댓값 구하기
SELECT MAX(DATETIME) AS "시간" FROM ANIMAL_INS; # 최신거 하나
모든 레코드 조회하기
SELECT * FROM ANIMAL_INS INC; # 아이디 오름차순
역순 정렬하기 : 아이디 역순 정렬
SELECT NAME,DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;
아픈 동물 찾기
SELECT ANIMAL_ID , NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION="Sick";
우유와 요거트가 담긴 장바구니 (❤❤❤)
SELECT CART_ID FROM CART_PRODUCTS GROUP BY CART_ID HAVING COUNT(case WHEN NAME ="Milk" then 1 end)>0 and COUNT(case WHEN NAME ="Yogurt" then 1 end)>0;
어린 동물 찾기
SELECT ANIMAL_ID , NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION<>"Aged";
동물의 아이디와 이름
-- 코드를 입력하세요
SELECT animal_id , name from animal_ins order by animal_id;
최솟값 구하기
SELECT MIN(DATETIME) AS "시간" FROM ANIMAL_INS ;
여러 기준으로 정렬하기
SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME , DATETIME DESC;
이름이 없는 동물의 아이디 (IS NULL)
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID;
동물 수 구하기
SELECT COUNT(*) FROM ANIMAL_INS;
상위 n개 레코드
SELECT NAME FROM ANIMAL_INS WHERE DATETIME=(SELECT MIN(DATETIME) FROM ANIMAL_INS);
이름이 있는 동물의 아이디
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ;
중복 제거하기(❤❤)
SELECT count(distinct NAME) as count FROM ANIMAL_INS WHERE NAME IS NOT NULL;
고양이와 개는 몇 마리 있을까(❤❤❤❤❤)
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY
CASE ANIMAL_TYPE
WHEN 'Cat' THEN 1
WHEN 'Dog' THEN 2
ELSE 3
END
동명 동물 수 찾기(❤)
SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME)>1 ORDER BY NAME;
NULL 처리하기
- null 값 처리 하기(❤)
SELECT ANIMAL_TYPE, ifnull(NAME,"No name"), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ;
입양 시각 구하기(1)
SELECT HOUR(DATETIME) HOUR, COUNT(DATETIME) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
HAVING HOUR >= 9 and HOUR <= 19 order by hour
없어진 기록 찾기
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS OUTS
LEFT OUTER JOIN ANIMAL_INS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID is NULL
ORDER BY OUTS.ANIMAL_ID
있었는데요 없었습니다
SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.DATETIME>OUTS.DATETIME ORDER BY INS.DATETIME;
입양 시각 구하기(1) (없는 것을 보여주기 위한 변수 설정과 반복문)(❤❤❤❤❤)
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;
입양 시각 구하기(2) (개수 제한은 LIMIT
)
SELECT INS.NAME , INS.DATETIME FROM ANIMAL_INS INS LEFT JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE OUTS.ANIMAL_ID IS NULL ORDER BY INS.DATETIME LIMIT 3;
오랜 기간 보호한 동물(1)
SELECT INS.ANIMAL_ID,INS.ANIMAL_TYPE,INS.NAME FROM ANIMAL_INS INS RIGHT JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.SEX_UPON_INTAKE<> OUTS.SEX_UPON_OUTCOME ORDER BY INS.ANIMAL_ID;
보호소에서 중성화한 동물
SELECT INS.ANIMAL_ID,INS.NAME,INS.SEX_UPON_INTAKE FROM ANIMAL_INS INS WHERE INS.NAME ="Lucy" or INS.NAME ="Ella" or INS.NAME ="Pickle" or INS.NAME ="Rogan" or INS.NAME ="Sabrina" or INS.NAME ="Mitty" ;
루시와 엘라 찾기
이름에 el이 들어가는 동물 찾기
SELECT ANIMAL_ID, NAME from ANIMAL_INS where NAME like "%EL%" AND ANIMAL_TYPE="dog" order by NAME;
중성화 여부 파악하기 (중요)
SELECT ANIMAL_ID ,NAME, CASE WHEN SEX_UPON_INTAKE LIKE "%Spayed%" OR SEX_UPON_INTAKE LIKE "%Neutered%" THEN "O" ELSE "X" END AS "중성화" FROM ANIMAL_INS ORDER BY ANIMAL_ID;
오랜 기간 보호한 동물(2)
SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID ORDER BY -OUTS.DATETIME+INS.DATETIME LIMIT 2;
DATETIME에서 DATE로 형 변환 (❤❤❤❤)
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID;
반응형
'알고리즘' 카테고리의 다른 글
Dominator 코딜리티 (0) | 2021.03.14 |
---|---|
maxCounter 코딜리티 O(N+M) 그 마의 구간 (0) | 2021.03.14 |
틀림 프로그래머스 3*n 타일링 dp 문제 (0) | 2021.03.11 |
프로그래머스 2020 카카오 인턴쉽 동굴 탐험 (0) | 2021.03.11 |
프로그래머스 징검다리 문제 (0) | 2021.03.09 |