3053. 根据长度分类三角形

表:Triangles

+-------------+------+ 
| Column Name | Type | 
+-------------+------+ 
| A           | int  | 
| B           | int  |
| C           | int  |
+-------------+------+
(A, B, C) 是这张表的主键。
每一行包含三角形三边的长度。

 题目要求:

编写一个查询来找到 三角形 的类型。对于每一行输出下面的其中一个:

  • Equilateral3 边长度相同的三角形。
  • Isosceles2 边长度相同的三角形。
  • Scalene3 边长度不同的三角形。
  • Not A Triangle:给定的 A ,BC 的值不能形成三角形。

以 任何顺序 返回结果表。

结果格式如下所示。

示例 1:

输入: 
Triangles 表:
+----+----+----+
| A  | B  | C  |
+----+----+----+
| 20 | 20 | 23 |
| 20 | 20 | 20 |
| 20 | 21 | 22 |
| 13 | 14 | 30 |
+----+----+----+
输出: 
+----------------+
| triangle_type  | 
+----------------+
| Isosceles      | 
| Equilateral    |
| Scalene        |
| Not A Triangle |
+----------------+
解释: 
- 第一行的值形成了等腰三角形,因为 A = B。
- 第二行的值形成了等边三角形,因为 A = B = C.
- 第三行的值形成了斜三角形,因为 A != B != C.
- 第四行中的值不能形成三角形,因为边 A 和边 B 的和不大于边 C。

一     我们可以使用 case when 语句来分类。

select
    case
        when (a + b <= c or a + c <= b or b + c <= a) then 'Not A Triangle'
        when a = b and a = c then 'Equilateral'
        when (a = b and a != c) or (a = c and a != b) or (b = c and b != a) then 'Isosceles'
        else 'Scalene'
    end as triangle_type
from Triangles;

这里需要注意的是 case when 是按照从上往下的顺序进行执行的。我们需要将 判断是否能成三角形 语句放在第一行即可。

以上就是全部答案,如果对你有帮助请点个赞,谢谢。

来源:力扣(leecode

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 转载请注明出处:

3053. 根据长度分类三角形-CSDN博客Triangles(A, B, C) 是这张表的主键。每一行包含三角形三边的长度。https://blog.csdn.net/CYJ1844/article/details/143003628

我会尽快把力扣上的所有数据库题目发出来。感兴趣的可以点个赞与关注。每天不定时跟新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值