Type of Triangle in SQL | HackerRank Solution

Hello coders, today we are going to solve Type of Triangle HackerRank Solution in SQL.

Type of Triangle in SQL

Contents

Problem

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 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 AB, and C don’t form a triangle.

Input Format

The TRIANGLES table is described as follows:

ColumnType
AInteger
BInteger
CInteger

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

Sample Input

ABC
202023
202020
202122
131430

Sample Output

Isosceles
Equilateral
Scalene
Not A Triangle

Explanation

Values in the tuple (20, 20, 30) form an Isosceles triangle, because A == B.
Values in the tuple (20, 20, 20) form an Equilateral triangle, because A == B == C. Values in the tuple (20, 21, 22) form a Scalene triangle, because A =! B =! 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.

Solution – Type of Triangle in SQL

MySQL

select if(A+B<=C or B+C<=A or A+C<=B,"Not A Triangle",
if(A=B and B=C,"Equilateral",
if(A=B or B=C or A=C,"Isosceles","Scalene")))
from TRIANGLES as T;

Disclaimer: The above Problem (Type of Triangle) is generated by Hacker Rank but the Solution is Provided by CodingBroz. This tutorial is only for Educational and Learning Purpose.

3 thoughts on “Type of Triangle in SQL | HackerRank Solution”

  1. I entered a solution for mssql into HackerRank for the triangle table
    SELECT
    case when (A+B<=c or A+C<=B or C+B<=A) then 'Not a Triangle' else
    case when (A=B and B=C) then 'Equilateral' else
    case when (A=B or B=C or A=C) then 'Isosceles'
    else 'Scalene' end end end from triangles;
    It said it was wrong. I created the triangles table on my mssql server and entered the example data. It executed and returned the example results. But it keeps saying it is wrong in HackerRank. I do not know why.

  2. Ok, I found out why
    SELECT
    case when (A+B<=c or A+C<=B or C+B<=A) then 'Not a Triangle' else
    case when (A=B and B=C) then 'Equilateral' else
    case when (A=B or B=C or A=C) then 'Isosceles'
    else 'Scalene' end end end from triangles;
    does not work it should have been 'Not A Triangle'. capital A

Leave a Comment

Your email address will not be published.