본문 바로가기

오라클9

[Oracle] group by 없이 count 조회하기 (COUNT OVER PARTITION BY) ID NAME CAR 1 kim audi 2 lee audi 3 park benz 만약 USER_CAR 테이블이 이렇게 있고, 내가 조회하고 싶은 것은 id, name, car, count(차 종류) 라고 하자 일단 이 GROUP BY 가 들어가는 쿼리문을 작성해야 다음과 같은 count 결과값을 얻을 수 있다. SELECT CAR, COUNT(*) AS COUNT FROM USER_CAR GROUP BY CAR; CAR COUNT audi 2 benz 1 하지만 ID, NAME, CAR, COUNT 이렇게 일반 컬럼과 COUNT를 같이 조회하고 싶다면? SELECT ID, NAME, CAR, COUNT(*) AS COUNT OVER(PARTITION BY CAR) FROM USER_CAR; ID NAM.. 2021. 11. 1.
[Oracle] programmers - NULL 처리하기 문제 : https://programmers.co.kr/learn/courses/30/lessons/59410 코딩테스트 연습 - NULL 처리하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 만약 동물의 이름이 NULL이면 No name으로 대체하여 출력한다. 풀이 -- SELECT ANIMAL_TYPE, -- CASE WHEN NAME IS NULL THEN 'No name' -- ELSE NAME -- END AS NAME, -.. 2021. 8. 5.
[Oracle] programmers - DATETIME에서 DATE로 형 변환 문제 : https://programmers.co.kr/learn/courses/30/lessons/59414 DATETIME을 DATE로 형변환하여 출력하는 문제이다 DATETIME : 2018-09-01 12:01:10 -> DATE : 2018-09-01 풀이 SELECT ANIMAL_ID, NAME, TO_CHAR(DATETIME, 'YYYY-MM-DD') AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID; TO_CHAR 을 이용하여 DATETIME을 DATE형식인 'YYYY-MM-DD'로 바꿔준다 참고 : https://gent.tistory.com/331 2021. 8. 5.
[Oracle] programmers - 오랜 기간 보호한 동물(2) 문제 : https://programmers.co.kr/learn/courses/30/lessons/59411 입양 간 동물 중에 보호소에 가장 오래 있었던 동물의 ID, NAME을 오래있었던 순으로 TOP2 만 출력하는 문제이다. 풀이 SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A, ANIMAL_OUTS B WHERE A.ANIMAL_ID = B.ANIMAL_ID ORDER BY B.DATETIME - A.DATETIME DESC FETCH FIRST 2 ROWS ONLY; 두 테이블을 JOIN한 후 입양간 날 - 보호소 들어온 날 을 빼서 내림차순으로 청렬한 후, FETCH FIRST 2 ROWS ONLY를 통해 TOP2 만 출력했다. 2021. 8. 5.
[Oracle] programmers - 중성화 여부 파악하기 문제 : https://programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 중성화를 한 동물은 O, 안한 동물은 X로 표시하여 ID, NAME과 함께 출력합니다. ID로 오름차순 정렬하는 문제입니다. 풀이 -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAK.. 2021. 8. 5.
[Oracle] programmers - 이름에 el이 들어가는 동물 찾기 문제 : 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 이름에 el 이 들어가는 Dog 를 찾아 이름순으로 정렬하여 출력하는 문제이다. 풀이 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE LOWER(NAME) LIKE '%el%' AND ANIMAL.. 2021. 8. 5.