스터디/SQL

[MySQL] ch04_ORDER BY, LEFT, RIGHT, SUBSTRING, CEIL, FLOOR, ROUND

skyggg3 2022. 3. 18. 19:56

본 글은 인프런의 '[백문이불여일타] 데이터 분석을 위한 기초 SQL'강의를 듣고 직접 실습한 내용입니다.

 

 

[백문이불여일타] 데이터 분석을 위한 기초 SQL - 인프런 | 강의

인프런 누적 수강생 8000명 이상, 풍부한 온/오프라인 강의 경험을 가진 데이터리안의 SQL 기초 강의. SQL 기초 이론을 배우고, 해커랭크 문제 10개를 함께 풀어봅니다., - 강의 소개 | 인프런...

www.inflearn.com

 

Dashboard | HackerRank

Join over 16 million developers in solving code challenges on HackerRank, one of the best ways to prepare for programming interviews.

www.hackerrank.com

 

  • ORDER BY - 조회한 데이터를 정렬해서 보여주는 역할
    • DESC - 내림차순 정렬
    • ASC - 오름차순 (디폴트값이므로 생략 가능)

 

  • 문자열 자르기
    • LEFT(칼럼명 또는 문자열, 문자열의 길이)
    • RIGHT(칼럼명 또는 문자열, 문자열의 길이)
    • SUBSTRING(칼럼명 또는 문자열, 시작 위치, 길이)

 

  • 소수점 처리
    • CEIL() 올림
    • FLOOR() 내림
    • ROUND() 반올림

 

 


 

해커랭크 문제풀이

 

1. Employee Names

 

SELECT name
FROM employee 
ORDER BY name;

 

 

2. Employee Salaries

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

 

 

3. Higher Than 75 Marks

SELECT name
FROM students
WHERE marks > 75    
ORDER BY RIGHT(name,3), id;  -- 첫번째 정렬 기준, 두번째 정렬 기준

 

4. Weather Observation Station 15

SELECT ROUND(LONG_W,4)  -- 4자리까지만 남기고 반올림
FROM station
WHERE LAT_N < 137.2345
ORDER BY LAT_N DESC      -- 내림차순으로 정렬해서
LIMIT 1;