本文主要是介绍【SQL高频基础题】610.判断三角形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
表: 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 | +----+----+----+----------+
解题:
这题我尝试了2次,第一次因为没有搞清三角形的定义,所以写得不对,惭愧惭愧,小学是数学知识“两边之和大于第三边”,都已经还给老师了。
第一次尝试:
select x,y,z,case when x+y>z then 'yes' when x+z > y then 'Yes' when y+z >x then 'Yes' else 'no' end as triangle from Triangle
这个SQL错误之处在于,不符合所有的两边之和大于第三边。
第二次尝试,对的:
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
这篇关于【SQL高频基础题】610.判断三角形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!