Type of 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)$$ form an Isosceles triangle, because $$A \equiv B$$.

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

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

Values in the tuple $$(13,14,30)$$ cannot form a triangle because the combined value of sides $$A$$ and $$B$$ is not larger than that of side $$C$$.

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;

results matching ""

    No results matching ""