SQL로 삼각형 유형 분류하기

서론

 데이터베이스에서 삼각형의 세 변(A, B, C)의 길이를 기준으로 삼각형의 유형을 분류하는 방법을 소개합니다. 이 포스팅에서는 주어진 세 변을 사용해 삼각형의 유형을 SQL 쿼리를 통해 간단하고 효율적으로 분류하는 방법을 설명합니다. 그 과정에서 삼각형의 수학적 성질을 활용하여 정삼각형, 이등변삼각형, 부등변삼각형 그리고 삼각형이 아닌 경우를 식별할 수 있습니다.

 

문제 정의

우리는 TRIANGLES라는 테이블을 다루게 됩니다. 이 테이블은 각 삼각형을 나타내는 세 개의 열(A, B, C)로 이루어져 있으며, 이들은 각각 삼각형의 변의 길이를 나타냅니다. 목표는 각 레코드의 세 변을 사용하여 다음과 같은 네 가지 분류 중 하나로 출력하는 것입니다:

  1. Equilateral (정삼각형): 세 변의 길이가 모두 동일한 삼각형
  2. Isosceles (이등변삼각형): 두 변의 길이가 동일한 삼각형
  3. Scalene (부등변삼각형): 세 변의 길이가 모두 다른 삼각형
  4. Not A Triangle (삼각형이 아님): 주어진 변의 길이로는 삼각형을 만들 수 없음

삼각형의 조건

삼각형을 이루기 위해서는 세 변의 길이가 다음 조건을 만족해야 합니다:

  • A + B > C
  • A + C > B
  • B + C > A

만약 이 조건을 만족하지 못하면, 해당 세 변으로는 삼각형을 만들 수 없습니다.

 

SQL 쿼리 작성

 

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

 

쿼리 설명:

  1. 삼각형이 아닌 경우: A + B <= C 또는 A + C <= B 또는 B + C <= A인 경우, 주어진 세 변은 삼각형을 만들 수 없습니다. 이 경우, 결과는 'Not A Triangle'이 됩니다.
  2. 정삼각형 (Equilateral): 세 변의 길이(A, B, C)가 모두 동일한 경우, 결과는 'Equilateral'이 됩니다.
  3. 이등변삼각형 (Isosceles): 세 변 중 두 변의 길이(A, B, C)가 동일한 경우, 결과는 'Isosceles'로 분류됩니다.
  4. 부등변삼각형 (Scalene): 세 변의 길이가 모두 다른 경우, 결과는 'Scalene'으로 출력됩니다.

쿼리 실행 결과

위의 쿼리를 실행하면 각 레코드의 세 변의 길이에 따라 'Equilateral', 'Isosceles', 'Scalene', 또는 'Not A Triangle'이라는 결과를 얻을 수 있습니다.

결론

이번 포스팅에서는 삼각형의 유형을 SQL을 통해 간단하게 분류하는 방법을 다뤄봤습니다. SQL의 CASE 문을 활용하면 다양한 조건에 따라 데이터를 쉽게 분류할 수 있으며, 이를 통해 보다 효율적인 데이터 처리와 분석이 가능합니다. 다음에는 더 복잡한 분류 문제나 데이터 분석 문제를 다뤄보겠습니다!

'SQL' 카테고리의 다른 글

The PADS  (1) 2024.10.06
Revising Aggregations - The Sum Function  (0) 2024.10.03
Employee Salaries  (0) 2024.09.30
Employee Names  (1) 2024.09.28
Higher Than 75 Marks  (0) 2024.09.26

+ Recent posts