gpt4 book ai didi

mysql - 如何在 MySQL 中定义内联值表?

转载 作者:行者123 更新时间:2023-11-30 22:47:35 26 4
gpt4 key购买 nike

这是一种在 SQL 查询中定义内联表数据的方法:

SELECT 1 `id`, 'hello' `name`
UNION ALL
SELECT 2 `id`, 'goodbye' `name`

您可以将其放入期望查询返回列 id, name 的内容中,它将正常工作。但是,当超过一两行时,这会占用很多不必要的字符。

有没有比 UNION 的多个 SELECT 更好的方法来定义 MySQL 查询中的内联值表?

最佳答案

如果你想要一个整数序列并且你正在使用 MariaDB, the MySQL fork , 您可以使用 SEQUENCE storage engine .

SELECT seq FROM seq_0_to_6

例如,会给你一个整数表0-6。

除此之外,您询问是否有比 UNION ALL 查询或临时表定义更有效的方法来获取所谓的内联表。

答案是不,不是真的。

但是您没有注意到一个小的效率。您不需要在 UNION ALL 级联中多次重复列名。所以,而不是

SELECT 1 id, 'hello' name
UNION ALL
SELECT 2 id, 'goodbye' name
UNION ALL
SELECT 3 id, 'salut' name

你可以这样做:

SELECT 1 id, 'hello' name
UNION ALL
SELECT 2, 'goodbye'
UNION ALL
SELECT 3, 'salut'

它节省了几个字符。

还要注意 UNION ALL 是比 UNION 更好的选择,因为 UNION 意味着删除重复项,这反过来又意味着一堆加工。 UNION ALL 跳过它。

关于mysql - 如何在 MySQL 中定义内联值表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29157611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com