Mysql只允许执行“select 1”,并返回列/值“1”。如果我提供一些随机字符串。

mysql> select "foo" ;
+-----+
| foo |
+-----+
| foo |
+-----+
1 row in set (0.01 sec)

mysql>

有支持这些命令的用例吗?

最佳答案

在某些用例中,这个特性非常有用。你有一张学生和学生的表格,看起来像这样:

Student | Grade
Tom     |  75
Tim     |  85
Paul    |  50
Mark    |  65
Beth    |  70
John    |  80
Dan     |  55

如果您的任务是创建一个显示所有学生以及他们是否通过的报告,那么您可以使用select constant功能。假设一个不及格分数低于60。但有一个问题,即标签PassFail实际上并不出现在表中。您可以编写以下查询:
SELECT Student,
       CASE WHEN Grade < 60 THEN 'Fail' ELSE 'Pass' END AS Result
From students

这将产生以下输出:
Student | Result
Tom     |  Pass
Tim     |  Pass       -- these constants are not part of your original data
Paul    |  Fail       -- set, but rather were introduced in the SELECT statement
Mark    |  Pass
Beth    |  Pass
John    |  Pass
Dan     |  Fail

关于mysql - SQL中“SELECT <somevalue>”的用法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39262979/

10-13 07:31