ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ORACLE] 매일 5개. 프로그래머스 SQL 문제 풀기 챌린지 Day 7
    Study/SQL 2024. 6. 4. 23:05
    728x90
    반응형

     

     

    오늘부터 새로운 도전을 시작하려고 합니다.

     

    바로 하루 5개씩 SQL 관련 문제를 푸는 것입니다.

     

    매일 프로그래머스에서 제공하는 SQL 문제5개씩 해결하며, 데이터 베이스 관리 및 쿼리 작성 능력을 성장시키고자 합니다.

     

    또한, 오라클(Oracle) 데이터베이스를 사용하여 문제를 해결함으로써, 실제 업무 환경에서 마주칠 수 있는 다양한 상황에 대비하고자 합니다.

     

    매일 바쁜 일상 속에서 새로운 것을 배우고 성장하는 것은 어렵겠지만, 도전이라도 하면 어떨까 합니다.

     

    프로그래머스는 무료로 다양한 난이도의 문제를 제공하기 때문에, 저는 제일 낮은 난이도부터 정답률이 높은 순서대로 풀어 보려고 합니다.

     

     

    프로그래머스 문제 모음

    728x90

     

     


    문제 풀이

    해당 문제에 대한 자세한 내용은 프로그래머스에서 찾아볼 수 있습니다!

     

     

     

    1. NULL 처리하기

    입양 게시판에 동물 정보를 게시하려 합니다.
    동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요.
    이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

     

    SELECT animal_type, nvl(name, 'No name') as name, sex_upon_intake
    from animal_ins
    order by animal_id

     

     

     

     

    2. DATETIME에서 DATE로 형 변환

    ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 동물의 아이디와 이름, 들어온 날짜를 조회하는 SQL문을 작성해주세요.
    이때 결과는 아이디 순으로 조회해야 합니다.

     

    SELECT animal_id, name, to_char(datetime, 'yyyy-mm-dd') as 날짜
    from animal_ins
    order by animal_id

     

    반응형

     

     

    3. 카테고리 별 상품 개수 구하기

    PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE  2자리) 상품 개수를 출력하는 SQL문을 작성해주세요.
    결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.

     

    select substr(product_code, 1, 2) as category, count(*) as products
    from product
    group by substr(product_code, 1, 2)
    order by category

     

     

     

     

    4. 고양이와 개는 몇 마리 있을까

    동물 보호소에 들어온 동물 고양이와 개가 각각 마리인지 조회하는 SQL문을 작성해주세요.
    이때 고양이를 개보다 먼저 조회해주세요.

     

    SELECT animal_type, count(*)
    from animal_ins
    group by animal_type
    order by animal_type

     

     

     

     

    5. 중성화 여부 파악하기

    SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다.
    동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요.
    이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.

     

    SELECT ANIMAL_ID, name, 
    case when sex_upon_intake like 'Neutered%' or sex_upon_intake like 'Spayed%' then 'O' else 'X' end as 중성화
    from ANIMAL_INS
    order by animal_id

     

     

     

    728x90
    반응형

    댓글

Designed by Tistory.