[HackerRank/SQL] Advanced Select - Type of Triangle
Problem. Advanced Select - Type of Triangle
Link.
Type of Triangle | HackerRank
Query a triangle's type based on its side lengths.
www.hackerrank.com
Description.
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 sides of equal length.
- Isosceles: It's a triangle with sides of equal length.
- Scalene: It's a triangle with sides of differing lengths.
- Not A Triangle: The given values of A, B, and C don't form a triangle.
※ Equilateral: 정삼각형 / Isosceles: 이등변삼각형 / Scalene: 삼각형
TRIANGLES 테이블의 데이터 정보를 토대로 삼각형 종류를 반환하는 SQL문을 작성하시오.
Key Point.
CASE WHEN, 조건과 일치하는 데이터를 반환하는 쿼리문이 필요할 때 사용되며, 주로 여러 조건에 대한 반환 값들을 각각 설정하기위해 사용한다:
- WHEN과 THEN은 한 쌍(one pair)이다
- WHEN과 THEN은 다수가 존재할 수 있다
- ELSE가 존재하면 모든 조건에 해당하지 않은 경우에 반환 값을 설정할 수 있다
- ELSE가 존재하지 않고, 모든 조건에 해당하지 않은 경우에 NULL를 반환한다
My Answer.
SELECT
CASE
WHEN A + B > C AND B + C > A AND A + C > B THEN
CASE
WHEN A = B AND B = C THEN 'Equilateral'
WHEN A = B OR B = C OR A = C THEN 'Isosceles'
ELSE 'Scalene'
END
ELSE 'Not A Triangle'
END
FROM TRIANGLES;
References.
CASE WHEN: https://extbrain.tistory.com/46
[MySQL] CASE 기본 사용법
▶MySQL CASE 기본 사용법 ▶설명 MySQL에서 CASE문은 프로그래밍 언어에서 스위치(switch)문과 비슷하지만, 다수의 조건에 하나의 반환 값은 동작하지 않습니다. ▶사용법 CASE WHEN 조건 THEN '반환 값' WH
extbrain.tistory.com
https://www.hackerrank.com/challenges/what-type-of-triangle/forum
Discussion on Type of Triangle Challenge
Query a triangle's type based on its side lengths.
www.hackerrank.com