LeetCode-610. 判断三角形(简单)

一个小学生 Tim 的作业是判断三条线段是否能形成一个三角形。

然而,这个作业非常繁重,因为有几百组线段需要判断。

假设表 triangle 保存了所有三条线段的三元组 x, y, z ,你能帮 Tim 写一个查询语句,来判断每个三元组是否可以组成一个三角形吗?

| x  | y  | z  |
|----|----|----|
| 13 | 15 | 30 |
| 10 | 20 | 15 |
对于如上样例数据,你的查询语句应该返回如下结果:

| x  | y  | z  | triangle |
|----|----|----|----------|
| 13 | 15 | 30 | No       |
| 10 | 20 | 15 | Yes      |

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/triangle-judgement
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

审题:查询表添加一个字段,判断三角形是否成立。

思考:三角形需要两边之和大于第三边,只要有一种可能成立就可以形成三角形。

解题:

使用if语句:

select 
T.*,
if((T.x+T.y>T.z) and (T.x+T.z>T.y) and (T.y+T.z>T.x),'Yes','No') as `triangle`
from triangle as T

使用 case语句:

select 
T.*,
case when (T.x+T.y>T.z) and (T.x+T.z>T.y) and (T.y+T.z>T.x) then 'Yes' 
    else 'No' end  as `triangle`
from triangle as T

知识点:

--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
发布了118 篇原创文章 · 获赞 2 · 访问量 4906

猜你喜欢

转载自blog.csdn.net/Hello_JavaScript/article/details/104309709