728x90
< Problem >
삼각형 종류 구하기
- Equilateral: 3변의 길이가 모두 같음.
- Isosceles: 3변 중 2변의 길이가 같음.
- Scalene: 3변 모두 길이가 다름.
- Not A Triangle: 한 변의 길이가 다른 두변의 길이의 합보다 큼.
링크: https://www.hackerrank.com/challenges/what-type-of-triangle/problem
< Code >
SELECT
CASE
WHEN (a=b) AND (b=c) THEN 'Equilateral'
WHEN (a+b <= c) OR (b+c <= a) OR (a+c <= b) THEN 'Not A Triangle'
WHEN (a=b) OR (b=c) OR (c=a) THEN 'Isosceles'
ELSE 'Scalene'
END AS type
FROM triangles
SELECT
CASE
WHEN (a+b <= c) OR (b+c <= a) OR (a+c <= b) THEN 'Not A Triangle'
WHEN (a=b) AND (b=c) THEN 'Equilateral'
WHEN (a=b) OR (b=c) OR (c=a) THEN 'Isosceles'
ELSE 'Scalene'
END AS type
FROM triangles
< Lesson & Learned >
SELECT 문 (조건검색)
SELECT: 키워드와 함께 검색하고 싶은 속성의 이름을 나열
FROM: 키워드와 함께 검색하고 싶은 속성이 있는 데이블의 이름을 나열
CASE~END: 다중 조건문에서 사용. (WHEN 조건 THEN 반환값) 형태로 작성하며, 모든 조건을 충족하지 않을 때 반환하는 값은 마지막에 (ELSE 반환값) 형태로 작성. 조건의 순서를 지정하는 것이 중요함.
🚫 순서를 잘못 지정하면 오류가 남. (아래 SQL문은 오류가 나는 SQL문)
SELECT
CASE
WHEN (a=b) AND (b=c) THEN 'Equilateral'
WHEN (a=b) OR (b=c) OR (c=a) THEN 'Isosceles'
WHEN (a+b <= c) OR (b+c <= a) OR (a+c <= b) THEN 'Not A Triangle'
ELSE 'Scalene'
END AS type
FROM triangles
728x90
'SQL > [HackerRank]' 카테고리의 다른 글
[HackerRank/MySQL] Revising Aggregations - The Count Function (0) | 2023.03.21 |
---|---|
[HackerRank/MySQL] The PADS (0) | 2023.03.11 |
[HackerRank/MySQL] Employee Salaries (0) | 2023.03.11 |
[HackerRank/MySQL] Employee Names (0) | 2023.03.11 |
[HackerRank/MySQL] Higher Than 75 Marks (0) | 2023.03.11 |