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:
- 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;