프로그래머스 | SQL 스터디 12

2024. 9. 15. 13:07·SQL/프로그래머스

SELECT

모든 레코드 조회하기(Lv1)

문제 설명

​

문제

동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

​

풀이

SELECT로 모든 정보를 조회

 

ORDER BY에서 ANIMAL_ID 순으로 오름차순 정렬

SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

 


역순 정렬하기(Lv1)

문제 설명

​

문제

동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

​

풀이

SELECT로 NAME, DATETIME을 조회

 

ORDER BY에서 ANIMAL_ID 순으로 내림차순 정렬

SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
 
 

GROUP BY

★언어별 개발자 분류하기 (Lv4)

문제 설명

​

문제

 

풀이

WITH에서 GRADE를 만들어서 단계별 조건을 입력

※처음에는 한 쿼리 안에 case when 구문도 넣었지만, where 구문의 grade는 select절의 case when 구문이 있기 때문에 작동하지 않아서 with 구문으로 빼는 것이 올바르다고 판단함

※ A 등급의 조건에서 Front End와 Python의 조건을 처음에는 같은 where 구문에 넣어서 틀렸었음! 하지만 python은 back end이므로 이렇게 되면 모두 0이 나옴 → 지금의 구문과 같이 따로 따로 만들어서 AND로 이어주는 것이 올바르다!!

 

 

SELECT에서 GRADE, ID, EMAIL을 조회

 

WHERE에서 GRADE가 NULL이 아니다라고 조건 추가

​

ORDER BY에서 GRADE, ID를 오름차순 정렬

WITH GRADES AS (
    SELECT ID, EMAIL,
        CASE
             WHEN SKILL_CODE & (SELECT SUM(CODE) 
                       FROM SKILLCODES 
                       WHERE CATEGORY = 'Front End')
              AND SKILL_CODE & (SELECT SUM(CODE) 
                           FROM SKILLCODES 
                           WHERE NAME = 'Python') THEN 'A'
            WHEN SKILL_CODE & (SELECT SUM(CODE)
                              FROM SKILLCODES
                              WHERE NAME='C#') THEN 'B'
            WHEN SKILL_CODE & (SELECT SUM(CODE)
                              FROM SKILLCODES
                              WHERE CATEGORY='Front End') THEN 'C'
        END AS GRADE
    FROM DEVELOPERS
)

SELECT GRADE, ID, EMAIL    
FROM GRADES
WHERE GRADE IS NOT NULL
ORDER BY GRADE, ID;

 


String, Date

이름에 el이 들어가는 동물 찾기(Lv2)

문제 설명

 

문제

​

풀이

SELECT에서 ANIMAL_ID, NAME을 조회 ​

​

WHERE에서 ANIMAL_TYPE은 개로, NAME에 lower 함수를 써서 'el'이 포함된 것으로만 제한

​

ORDER BY에서 NAME  오름차순 정렬

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'Dog'
  AND LOWER(NAME) LIKE '%el%'
ORDER BY NAME;
 
저작자표시 비영리 변경금지 (새창열림)

'SQL > 프로그래머스' 카테고리의 다른 글

프로그래머스 | SQL 스터디 14 (Union, Union all)  (3) 2024.09.16
프로그래머스 | SQL 스터디 13  (1) 2024.09.15
프로그래머스 | SQL 스터디 11 (비트연산자 &)  (2) 2024.09.11
프로그래머스 | SQL 스터디 10  (3) 2024.09.10
프로그래머스 | JOIN - 없어진 기록 찾기 (+JOIN정리)  (1) 2024.09.10
'SQL/프로그래머스' 카테고리의 다른 글
  • 프로그래머스 | SQL 스터디 14 (Union, Union all)
  • 프로그래머스 | SQL 스터디 13
  • 프로그래머스 | SQL 스터디 11 (비트연산자 &)
  • 프로그래머스 | SQL 스터디 10
kimmalgu
kimmalgu
DA(데이터 분석가) 블로그
  • kimmalgu
    kimmalgu 님의 블로그
    kimmalgu
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 통계 (3)
      • [패캠] 데이터분석 부트캠프 (10)
        • 프로젝트 (2)
        • 수업 정리 (8)
      • 파이썬 (8)
        • 통계전산처리 (7)
      • SQL (27)
        • 프로그래머스 (20)
        • HackerRank (5)
        • LeetCode (1)
      • 코테 (0)
      • 독후감 (5)
  • 블로그 메뉴

    • 글쓰기
    • 홈
    • 태그
    • 방명록
  • hELLO· Designed By정상우.v4.10.0
kimmalgu
프로그래머스 | SQL 스터디 12
상단으로

티스토리툴바