[코테] 프로그래머스 SQL 고득점 Kit - SELECT 5~8번

ʕ•ﻌ•ʔ·2024년 3월 20일
0

코딩테스트 (SQL)

목록 보기
5/31
post-thumbnail

❇️ SELECT

  • 💡 조회

    • select 열 from 테이블 where 조건 order by asc / desc;

  • 💡 조건

    • 다중 : where (조건1) and (조건2)
    • 문자열 : where 열 like '문자'
      • where 열 like '____03___'
      • where 열 like '%사원'
    • 널 제외 : where 열 is not null

  • 💡 날짜 변환

    • select 열1, 열2, date_format(날짜열, '%Y-%m-%d') as 날짜열 from 테이블

  • 💡 정렬

    • 열1 오름차순, 같으면 열2 내림차순 : order by 열1 asc, 열2 desc;

  • 💡 집계함수

    • select 집계함수(열1) from 테이블이름;
      - 행 개수 : count( )
      - 합 : sum( )
      - 평균 : avg( )
      - 최소 : min( )
      - 최대 : max( )

  • 💡 그룹화

    • select 열1, 열2 from 테이블 group by 열1, 열2 having 조건 (order by 열1 정렬);
      - 그룹화 : GROUP BY 열 HAVING 조건
      - (ex) HAVING COUNT(*) > 1
      - GROUP BY 열 : 열에 대해 같은 값을 가지는 친구들끼리 그룹별로 묶임
      - (실제 출력은 그 중 한 행만 대표로 출력. 실제로는 그룹으로 존재)
      - 정렬 : ORDER BY ▶ (ASC)/DESC

  • 💡 합치기

    • 구문1 union 구문2;
      - union : select 구문1의 결과와 구문2의 결과를 합쳐 출력

  • 💡 NULL 값으로 출력

    • select 열1, 열2, null as 열3;
      • 열3을 행이름으로 두고, 값은 null로

1. SELECT 5번

아픈 동물 찾기


SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE (INTAKE_CONDITION LIKE 'Sick')

2-1. SELECT 6번(1)

어린 동물 찾기


SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE (NOT INTAKE_CONDITION LIKE 'Aged')
ORDER BY ANIMAL_ID;

2-2. SELECT 6번(2)


SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE (NOT INTAKE_CONDITION LIKE 'Aged')
ORDER BY ANIMAL_ID;

3. SELECT 7번

동물의 아이디와 이름


SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

4. SELECT 8번

여러 기준으로 정렬하기


SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;

profile
김햄톨

0개의 댓글

관련 채용 정보