DATETIME에서 DATE로 형 변환 / 59414 정보 Lv.2 분류 : String, Date 문제 문제링크 풀이 SELECT ANIMAL_ID , NAME , TO_CHAR(DATETIME, 'YYYY-MM-DD') FROM ANIMAL_INS ORDER BY 1; 풀이 후기 - 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
입양 시각 구하기(1) / 59412 정보 Lv.2 분류 : GROUP BY 문제 문제링크 풀이 SELECT TO_NUMBER(TO_CHAR(DATETIME,'FMHH24')) AS HOUR , COUNT(*) AS COUNT FROM ANIMAL_OUTS WHERE TO_CHAR(DATETIME, 'HH24:MI') BETWEEN '09:00' AND '19:59' GROUP BY TO_NUMBER(TO_CHAR(DATETIME, 'FMHH24')) ORDER BY 1; 풀이 후기 TO_CHAR를 이용해 시간 포맷을 맞추는게 엄청 다양한 것 같다. 이 부분에 대해서는 따로 글을 작성해야할 것 같다😂 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
NULL 처리하기 / 59410 정보 Lv.2 분류 : IS NULL 문제 문제링크 풀이 SELECT ANIMAL_TYPE , NVL(NAME, 'No name') AS NAME , SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; 풀이 후기 - 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
중성화 여부 파악하기 / 59409 정보 Lv.2 분류 : String, Date 문제 문제링크 풀이 SELECT ANIMAL_ID , NAME , CASE WHEN SEX_UPON_INTAKE LIKE ('Intact%') THEN 'X' ELSE 'O' END AS "중성화" FROM ANIMAL_INS ORDER BY 1; 풀이 후기 - 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
중복 제거하기 / 59408 정보 Lv.2 분류 : SUM, MAX, MIN 문제 문제링크 풀이 SELECT COUNT(*) FROM ( SELECT DISTINCT NAME -- DISTINCT로 중복 제거 FROM ANIMAL_INS WHERE NAME IS NOT NULL -- NAME이 NULL인건 제외 ); 풀이 후기 중복을 제거하는 방법은 DISTINCT 말고도 GROUP BY가 있다. 둘 중 상황에 맞게 사용하면 된다. 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
동물 수 구하기 / 59406 정보 Lv.2 분류 : SUM, MAX, MIN 문제 문제링크 풀이 SELECT COUNT(*) AS COUNT FROM ANIMAL_INS; 풀이 후기 - 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
이름에 el이 들어가는 동물 찾기 / 59047 정보 Lv.2 분류 : String, Date 문제 문제링크 풀이 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE LOWER(NAME) LIKE '%el%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME; 풀이 후기 WHERE에 사용한 LOWER 함수는 특정 컬럼의 문자열을 소문자로 변환하는 것이다. NAME 컬럼의 문자열을 소문자로 변환한 뒤, 자리가 어디든 상관없이 ' el '만 있으면 SELECT를 통해 출력하게 하였다. 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
루시와 엘라 찾기 / 59046 정보 Lv.2 분류 : String, Date 문제 문제링크 풀이 SELECT ANIMAL_ID , NAME , SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ORDER BY 1; 풀이 후기 - 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
동명 동물 수 찾기 / 59041 정보 Lv.2 분류 : GROUP BY 문제 문제링크 풀이 SELECT NAME , COUNT(*) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING COUNT(*) >= 2 ORDER BY 1; 풀이 후기 IS NOT NULL 은 NULL을 제외한 데이터를 조회할 수 있는 명령어다. GROUP BY를 통해 NAME의 중복 데이터를 거르고, HAVING으로 NAME 개수가 2개 이상인 데이터만 출력하도록 진행했다. 💡문제 풀이/프로그래머스 - Oracle 2023.11.02
고양이와 개는 몇 마리 있을까 / 59040 정보 Lv.2 분류 : GROUP BY 문제 문제링크 풀이 SELECT ANIMAL_TYPE , COUNT(*) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY 1; 풀이 후기 - 💡문제 풀이/프로그래머스 - Oracle 2023.11.02