Identifying Triangle

Write a query identifying the_type_of each record in theTRIANGLES table using its three side lengths. Output one of the following statements for each record in the table:

  • Equilateral

    : It's a triangle with 3 sides of equal length.

  • Isosceles

    : It's a triangle with 2 sides of equal length.

  • Scalene

    : It's a triangle with 3 sides of differing lengths.

  • Not A Triangle

    : The given values of A, B, and _C _don't form a triangle.

Input Format

TheTRIANGLEStable is described as follows:

Each row in the table denotes the lengths of each of a triangle's three sides.

Sample Input

Sample Output

Isosceles
Equilateral
Scalene
Not A Triangle

Explanation

Values in the tuple (20,20,23)(20, 20, 23) form an Isosceles triangle, because ABA \equiv B.

Values in the tuple (20,20,20)(20,20,20) form an Equilateral triangle, because ABCA \equiv B \equiv C.

Values in the tuple (20,21,22)(20, 21, 22) form a Scalene triangle, because ABCA \not= B \not= C.

Values in the tuple (13,14,30)(13,14,30) cannot form a triangle because the combined value of sides AA and BB is not larger than that of side CC.

Thoughts:

  1. Ideas from GeeksforGeeks

Code

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

Last updated

Was this helpful?