코딩테스트 준비/SQL문법

[프로그래머스 LV3] - 조건에 맞는 사용자 정보 조회하기(string, date) SQL

SeoburiFaust 2024. 2. 18. 16:27

문제

https://school.programmers.co.kr/learn/courses/30/lessons/164670

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

접근방법

concat과, left, right, substr, coalesce 등의 문자열 조작함수를 활용한다.

코드

-- 코드를 입력하세요
SELECT u.user_Id,
u.nickname,
concat(u.city,' ', u.street_address1,' ', coalesce(u.street_address2, '')) as 전체주소,
concat(
left(u.tlno, 3),
'-',
substr(u.tlno, 4, 4),
'-',
right(u.tlno, 4)
) as 전화번호
from used_goods_board as b join used_goods_user as u on b.writer_id = u.user_id
group by u.user_id
having count(*) >= 3
order by u.user_id desc

 

개선할 점

substr을 배웠다. 유용하게 쓰일 거 같다.

 

substr(4, 4)라고 한다면,

index4의 위치부터 시작해서 4만큼의 길이인 substr을 반환한다는 것을 유의하자.

 

또 유의할 것이 있다.

스키마를 살펴보고 나서

nullable한 자료형이 있다면,

coalesce를 잘 활용하는 것이 좋다.