HACKERRANK 5일차

U_in_joy·2022년 5월 24일
1

SQL

목록 보기
5/16
post-thumbnail

Higher Than 75 Marks

SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY RIGHT(Name, 3), ID;



higher than은 이상이 아니라 초과이며, ORDER BY가 여러개 일 때 ,(comma)를 잊지 말자.
그리고 글자수 Slicing 관련 함수는 LEFT(), RIGHT(), SUBSTRING()이 있다.



Employee Names

SELECT name 
FROM EMPLOYEE
ORDER BY name;



Employee Salaries

SELECT name 
FROM Employee
WHERE salary > 2000 AND
months < 10
ORDER BY employee_id;



The Blunder

SELECT ROUND(AVG(Salary))-ROUND(AVG(REGEXP_REPLACE(Salary, '0', '')))
FROM EMPLOYEES;

내 풀이는 이것이었지만 서칭을 통해 반올림이 아닌 무조건 올림을 해야 한다는 글을 발견했다. round it up to the next integer는 소수점 자리가 있기만 하면 그 다음 정수로 올림을 하라는 소리였다.
SELECT CEIL(AVG(Salary)-AVG(REGEXP_REPLACE(Salary, '0', '')))
FROM EMPLOYEES;

REGEXP_REPLACE(목표 문자열, 목표 문자, 바꿀 문자)
혹은 REPLACE(목표 문자열, 목표 문자, 바꿀 문자)를 써도 된다.

profile
끝까지 가자!

0개의 댓글