728x90
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: 3변의 길이가 다른 삼각형
- Not A Triangle: 삼각형이 아님
해당 문제는 문제에서 삼각형들의 조건들을 제공했기 때문에 조건문만 알고 있다면 쉽게 풀 수 있는 문제이다.
SELECT
CASE
WHEN A = B AND B = C THEN "Equilateral"
WHEN A + B <= C THEN "Not A Triangle"
WHEN A != B AND B != C AND A != C THEN "Scalene"
ELSE "Isosceles"
END AS A
FROM TRIANGLES
* 삼각형은 가장 큰 변의 길이의 크기가 나머지 두개의 변의 길이를 합한 길이보다 작야아 하는 조건이 있다.
따라서 WHEN A + B <= C THEN "Not A Triangle" 이렇게 설정을 해야 삼각형이 아닐 조건이 된다.
'SQL' 카테고리의 다른 글
[프로그래머스 SQL] 입양 시각 구하기(2) (4) | 2021.04.09 |
---|---|
[프로그래머스 SQL] 보호소에서 중성화한 동물 (0) | 2021.04.07 |
[Oracle VS Mysql] 중앙값(median) 구하기 (0) | 2021.03.23 |
[Oracle VS Mysql] 나머지 구하기 (0) | 2021.03.22 |
SQL(Structured Query Language) 종류 (0) | 2021.03.15 |