1 题目描述
表: Triangle
+-------------+------+
| Column Name | Type |
+-------------+------+
| x | int |
| y | int |
| z | int |
+-------------+------+
在 SQL 中, (x, y, z) 是该表的主键列
该表的每一行包含三个线段的长度
对每三个线段报告它们是否可以形成一个三角形
以 任意顺序 返回结果表
2 测试用例
输入:
Triangle 表:
+----+----+----+
| x | y | z |
+----+----+----+
| 13 | 15 | 30 |
| 10 | 20 | 15 |
+----+----+----+
输出:
+----+----+----+----------+
| x | y | z | triangle |
+----+----+----+----------+
| 13 | 15 | 30 | No |
| 10 | 20 | 15 | Yes |
+----+----+----+----------+
3 解题思路
根据三个线段的长度判断是否可以形成一个三角形, 需要满足任意两边长度的和大于第三边的长度
可以使用 if 判断
select x,
y,
z,
IF(x + y > z and x + z > y and y + z > x, 'Yes', 'No') as triangle
from Triangle