SQL (프로그래머스 스터디)

김혜민·2024년 5월 24일

SQL

목록 보기
17/21

1. Coalesce

  • 인자로 주어진 컬럼들 중에서 NULL이 아닌 첫 번째 값을 반환하는 함수
select col coalesce(A,B) from table

- A 컬럼 값이 NULL 값이 아닌 경우 A 값을 리턴
- A가 NULL이고 B가 NULL이 아닌 경우 B 값을 리턴
- 모든 인수가 NULL이면 NULL을 반환

ex) coalesce(FREEZER_YN,'N') → FREEZER_YN이 null값이면 N 출력

2. Floor vs Round

  • floor는 소수점 아래 숫자를 버림
  • round는 소수점 아래 숫자를 반올림함!
    ex) 3.7 → floor(3.7)은 3, round(3.7)은 4를 반환!
    - Floor: 값보다 작거나 같은 정수를 반환하는 데 사용
    - Round: 소수점 이하 값을 가까운 정수로 반올림하는 데 사용

3. Where

→ 안에 또 다른 Where 사용 가능!

Q: Query the Western Longitude (LONG_W) for the largest Northern Latitude (LAT_N) in STATION that is less than 137.2345. Round your answer to 4 decimal places.

A: SELECT ROUND(MAX(LONG_W), 4)
FROM STATION
WHERE LAT_N = (select max(lat_n) from station where lat_n<137.2345)

4. Ifnull

  • IFNULL 함수는 두 개의 인수를 취함
  • 첫 번째 인수가 NULL인 경우 두 번째 인수를 반환하고, 그렇지 않으면 첫 번째 인수를 반환
select ifnull(col, '반환할 값') from table

* ifnull vs coalesce

  • ifnull은 두 개의 인수만 받음
  • coalesce는 두 개 이상 여러 개의 인수를 받을 수 있음
    → 여러 인수를 비교하여 NULL이 아닌 첫 번째 인수를 선택하는 더 유연한 함수

5. Date_format

  • 날짜값을 문자열로 변경
Date_format(HIRE_YMD, '%Y-%m-%d') → HIRE_YMD를 년--일 순으로 바꿔서 보여줌
* 2022년이라고 가정할 때 %Y → 2022 , %y → 22 로 출력됨
  5월이라고 가정할 때 %m → 05

6. where vs in

  • 조건절을 검색할 때 where 과 in 모두 사용가능!
1. where "Python" IN (SKILL1,SKILL2,SKILL3)
2. where 1=1
	and (skill_1 like '%python%'
    	or skill_2 like '%python%'
    	or skill_3 like '%python%')
profile
성장하는 주니어 데이터 분석가입니다!

0개의 댓글