CodingSpace

[HackerRank/SQL] Advanced Select - Type of Triangle 본문

HackerRank/SQL

[HackerRank/SQL] Advanced Select - Type of Triangle

개발자_조이킴 2022. 5. 12. 09:14

Problem. Advanced Select - Type of Triangle


Link.

https://www.hackerrank.com/challenges/what-type-of-triangle/problem?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=24-hour-campaign 

 

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문을 작성하시오.

 

TRIANGLES 테이블

 

TRIANGLES 예시


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

 

Comments