해커랭크 SQL문제_0804

starlikedh
|2021. 8. 4. 12:22

Employee Names

문제: Write a query that prints a list of employee names (i.e.: the name attribute) from the Employee table in alphabetical order.

풀이: 직원 테이블에서 직원의 이름을 오름차순으로 정렬해서 출력하면 문제 해결 완료.
ORDER BY절에서 default가 ASC 정렬이지만 굳이 안적어줘도 되지만 그래도 적어주는게 더 직관적으로 잘 보이는 것 같다ㅎㅎ

SELECT NAME 
FROM EMPLOYEE
ORDER BY NAME ASC;

Employee Salaries

문제: Write a query that prints a list of employee names (i.e.: the name attribute) for employees 
in Employee having a salary greater than $2000 per month who have been employees for less than 10 months. 
Sort your result by ascending employee_id.

풀이: 월 급여가 $2000 이상인 직원 중 10개월 미만의 직원들의 직원 이름을 employee_id 기준 오름차순으로 결과를 정렬하는 문제.

SELECT NAME
FROM EMPLOYEE
WHERE SALARY >= 2000 AND MONTHS < 10
ORDER BY EMPLOYEE_ID ASC;

Type of Triangle

문제: Write a query identifying the type of each record in the TRIANGLES table using its three side lengths. 
Output one of the following statements for each record in the table:

Equilateral: It's a triangle with  3 sides of equal length.
Isosceles: It's a triangle with  2 sides of equal length.
Scalene: It's a triangle with  3 sides of differing lengths.
Not A Triangle: The given values of A, B, and C don't form a triangle.

풀이: 각 조건에 맞는 삼각형 종류를 출력하는 문제였다. CASE ~ WHEN으로 SELECT 시 조건 나누어주면 해결 가능한 문제이다.

SELECT CASE WHEN A = B AND B = C THEN 'Equilateral'
                         WHEN A + B <= C OR A + C <= B OR B + C <= A THEN 'Not A Triangle'
                         WHEN A = B OR B = C OR A = C THEN 'Isosceles'
               ELSE 'Scalene' END
FROM TRIANGLES 

 

'Database' 카테고리의 다른 글

해커랭크 SQL문제_0807  (0) 2021.08.07
해커랭크 SQL문제_0805  (0) 2021.08.05
해커랭크 SQL문제_0803  (0) 2021.08.03
해커랭크 SQL문제_0802  (0) 2021.08.02
코딩테스트 연습_0729  (0) 2021.07.29