Skip to Content
TheCornerLabs Docs

Problem

Table: Triangle

+-------------+------+ | Column Name | Type | +-------------+------+ | x | int | | y | int | | z | int | +-------------+------+ In SQL, (x, y, z) is the primary key column for this table. Each row of this table contains the lengths of three line segments.

Report for every three line segments whether they can form a triangle.

Return the result table in any order.

Example

1706518418010443 Image scaled to 55%

Output

1706518445031892 Image scaled to 55%

Try it YourSelf

Database Exercise

Database Schema:

-- Database schema would be rendered here

Exercise Script:

-- Exercise script would be rendered here

Available actions: Execute

Solution

To assess the validity of triangles defined by sets of three values (x, y, z), the approach involves employing a SQL query on the ‘Triangle’ table. The query utilizes a CASE statement to evaluate the conditions of the triangle inequality theorem, determining whether the sum of any two sides is greater than the length of the third side. The result will be a clear classification of each set as either forming a valid (‘Yes’) or invalid (‘No’) triangle, providing a straightforward analysis of the geometric properties within the ‘Triangle’ dataset.”

SELECT x, y, z, CASE WHEN x + y > z AND y + z > x AND x + z > y THEN 'Yes' ELSE 'No' end triangle FROM Triangle

Let’s break down the SQL query step by step.

Step 1: SELECT Statement

This query selects columns x, y, and z from the triangle table and adds a new column named triangle. The CASE statement checks whether the given set of values (x, y, z) satisfies the conditions for forming a triangle.

Step 2: Evaluate the CASE statement

The conditions within the WHEN clause check whether the sum of any two sides is greater than the third side. The conditions are:

CASE WHEN x + y > z AND y + z > x AND x + z > y THEN 'Yes' ELSE 'No'
  • x + y > z: The sum of side x and side y is greater than side z.
  • y + z > x: The sum of side y and side z is greater than side x.
  • x + z > y: The sum of side x and side z is greater than side y.

If all three conditions are true, then the CASE statement evaluates to ‘Yes,’ indicating that the given values can form a valid triangle.

If any of the conditions is false, the ELSE clause is triggered, and the CASE statement evaluates to ‘No,’ indicating that the values cannot form a valid triangle.

Final Output:

+----+----+----+----------+ | x | y | z | triangle | +----+----+----+----------+ | 13 | 15 | 30 | No | | 10 | 20 | 15 | Yes | +----+----+----+----------+
Last updated on