weixin_46264544 2022-05-18 00:50 采纳率: 100%
浏览 95
已结题

SQL中子查询无论在什么位置(SELECT子句、FROM子句)都能引用主查询中的别名吗?

我知道SQL的执行顺序的是FROM--ON--JOIN--WHERE--..
我不明白的是,在SELECT子句中,使用该子句中其他地方定义的别名是不行的,为什么嵌套一个子查询,又可以识别到别名了?
具体如:
一、
SELECT
100-90 a,
20-10 b,
a-b 'a-b'
报错,不认识a、b列

二、
SELECT
100-90 a,
20-10 b,
(SELECT a-b) 'a-b'

成功,输出结果:
a b a-b
10 10 0

为什么上述第二个查询可以顺利运行?SQL的关于别名的执行顺序是怎么样的?

  • 写回答

2条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 5月27日
      • 已采纳回答 5月19日
      • 创建了问题 5月18日

      悬赏问题

      • ¥15 银河麒麟v10 执行.run失败如何解决
      • ¥15 用mysql做一个高校工资管理系统
      • ¥21 Multisim设计用三端集成稳压器设计稳压电路
      • ¥15 tp6,在iframe里的网址通过获取url参数失败
      • ¥15 打开opendaylight查看拓扑,为什么直接就显示了两个Switch,在mininet配置了一个topo,这两个Switch还在
      • ¥15 无法远程连接pgsql
      • ¥15 建立DLNM模型时显示基础基矩阵不一致
      • ¥15 贝叶斯重复测量方差分析
      • ¥15 c#如何将到毫秒的时间字符串转换成byte[8]
      • ¥100 能不能帮帮我,这个数据库我一直做不好