[每日一练]利用CASE...WHEN 语句实现三角形查询

该题目来源于力扣:

610. 判断三角形 - 力扣(LeetCode)

题目要求:

表: Triangle

+-------------+------+
| Column Name | Type |
+-------------+------+
| x           | int  |
| y           | int  |
| z           | int  |
+-------------+------+
在 SQL 中,(x, y, z)是该表的主键列。
该表的每一行包含三个线段的长度。

对每三个线段报告它们是否可以形成一个三角形。

以 任意顺序 返回结果表。

查询结果格式如下所示。

示例 1:

输入: 
Triangle 表:
+----+----+----+
| x  | y  | z  |
+----+----+----+
| 13 | 15 | 30 |
| 10 | 20 | 15 |
+----+----+----+
输出: 
+----+----+----+----------+
| x  | y  | z  | triangle |
+----+----+----+----------+
| 13 | 15 | 30 | No       |
| 10 | 20 | 15 | Yes      |
+----+----+----+----------+

思路流程:

什么是case...when语句?

-基本语法:

CASE expression
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ...
    ELSE resultN
END

在简单 CASE 语句中,expression 将与每个 value 进行比较,当找到匹配时,返回相应的 result。如果没有匹配的值,则返回 ELSE 部分的结果(如果指定了 ELSE 部分)。

-特殊搜索语法:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE resultN
END

在搜索 CASE 语句中,每个 condition 是一个独立的布尔表达式,而不是与单个表达式进行比较。当第一个满足的条件被找到时,返回相应的 result。如果没有任何条件满足,则返回 ELSE 部分的结果(如果指定了 ELSE 部分)。 

代码实现:

# Write your MySQL query statement below
SELECT 
x,
y,
z,
CASE 
WHEN x+y>z AND x+z>y AND y+z>x THEN 'Yes'
ELSE 'No'
END AS 'triangle'
FROM Triangle
;

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值