栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在MySQL中按别名选择列

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在MySQL中按别名选择列

简短答案:

  1. SELECt列表中对别名的引用或
  2. 别名表达

到目前为止,我发现的唯一文档是:https :
//bugs.mysql.com/bug.php?id=79549

在该链接中有以下内容:

[2015年12月9日15:35] Roy Lyseng …这是原始决定的较长背景:

与在WHERe子句(和GROUP BY)中子查询中对别名的引用相反,
没有理由(除标准合规性之外)我们不应该在SELECT列表中允许对别名的引用
,因为它们应该 在SELECT列表
中可用。查询执行的同一阶段。但是5.6中的支持相当随意:

鉴于此:创建表t1(a int,b int),

SELECT列表中的别名无效:

  select a+b as c,c+1 from t1;

错误1054(42S22):“字段列表”中的未知列“ c”

但是在子查询中,对c的引用是有效的:

  select a+b as c,(select c+1) from t1;

并且子查询必须在别名定义之后:

  select (select c+1),a+b as c from t1;

错误1247(42S22):不支持参考“ c”(项目列表中的前向参考)

因此,很容易说 在SELECT列表中对别名的引用的
支持是非常特殊的。尽管如此,我们将尝试重新实现旧的解决方案,但没有尝试清除此功能支持中的明显漏洞。但是,不会在WHERe子句中的子查询中引用别名。

除了在标准文档中描述此功能的错误报告之外,我还一直在寻找文档。但到目前为止没有运气。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373715.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号