https://programmers.co.kr/learn/courses/30/lessons/59046?language=oracle
코딩테스트 연습 - 루시와 엘라 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
IN ( ) 을 이용해 NAME의 값이 괄호 안에 있는 값과 같으면 조회
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID;
https://programmers.co.kr/learn/courses/30/lessons/59047
코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
오라클에서는 대소문자를 구분하기 때문에 대소문자를 구분하지 않으면 정확한 값이 검색되지 않는다.
그러므로 나올 수 있는 경우의 수를 모두 넣어 조건을 달거나 LOWER를 써서 소문자로 바꾼 후 비교해준다.
-- 대소문자를 구분하므로 el이 들어가는 경우와 El로 시작하는 경우를 하나도 묶어 비교
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE (NAME LIKE '%el%' OR NAME LIKE '%El%') AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME;
-- LOWER함수를 사용해 비교할 NAME을 모두 소문자로 바꾼 후 비교
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE LOWER(NAME) LIKE '%el%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME;
https://programmers.co.kr/learn/courses/30/lessons/59409?language=oracle
코딩테스트 연습 - 중성화 여부 파악하기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
DECODE 말고 어떻게 쓰나 생각했는데 알고보니 CASE문도 있었다.... 진짜 다 까먹었다 미쳤다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ;;
참고 블로그 : https://ljg960730.tistory.com/52
[프로그래머스/Oracle]중성화 여부 파악하기
https://programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다..
ljg960730.tistory.com
-- 두 성별에 대해서만 O 처리하고 나머지는 X 처리
SELECT ANIMAL_ID, NAME, DECODE(SEX_UPON_INTAKE, 'Neutered Male', 'O', 'Spayed Female', 'O', 'X') AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
-- CASE문(CASE WHEN THEN ELSE END) 사용해 조견별로 처리
SELECT ANIMAL_ID, NAME,
CASE
WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
ELSE 'X'
END
AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
https://programmers.co.kr/learn/courses/30/lessons/59411?language=oracle
코딩테스트 연습 - 오랜 기간 보호한 동물(2)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
DATETIME도 연산이 가능하므로 연산한 결과를 내림차순으로 정렬해 인라인 뷰로 두고 ROWNUM을 이용해 2줄만 가져온다.
SELECT ANIMAL_ID, NAME
FROM
(
SELECT OUTS.ANIMAL_ID AS ANIMAL_ID, OUTS.NAME AS NAME
FROM ANIMAL_OUTS OUTS
LEFT JOIN ANIMAL_INS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NOT NULL
ORDER BY OUTS.DATETIME-INS.DATETIME DESC
)
WHERE ROWNUM <=2;
https://programmers.co.kr/learn/courses/30/lessons/59414?language=oracle
코딩테스트 연습 - DATETIME에서 DATE로 형 변환
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
TO_CHAR를 이용해 날짜 포맷을 바꾼다.
참고 블로그 : https://coding-factory.tistory.com/439
[Oracle] 오라클 다양한 날짜 / 시간 포맷 변경 (TO_CHAR) 사용법 & 예제
쿼리문을 짜다보면 원하는 날짜와 시간의 형태를 뽑아내고 싶을 경우가 많습니다. 오라클에서 날짜 포맷의 변환은 TO_CHAR함수를 활용하여 변경하실 수 있습니다. 다양한 날짜 / 시간 포맷 SELECT --
coding-factory.tistory.com
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME, TO_CHAR(DATETIME, 'YYYY-MM-DD') AS 날짜
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
'CodingTest Practice > Programmers' 카테고리의 다른 글
프로그래머스 : N-Queen (C++, Lv.3, 백트래킹) (0) | 2022.06.09 |
---|---|
프로그래머스 : 배달 (C++, Lv.2, 다익스트라) (0) | 2022.06.07 |
프로그래머스 : IS NULL (SQL, ORACLE) (0) | 2022.06.06 |
프로그래머스 : GROUP BY (SQL, ORACLE) (0) | 2022.06.06 |
프로그래머스 : JOIN (SQL, ORACLE) (0) | 2022.06.06 |