MySQL零散拾遗(二)

列的别名只能在 ORDER BY 中使用,不能在 WHERE 中使用

举个栗子,有一个员工表employees

显示出表 employees 的 员工id,员工的月薪还有年薪,并按年薪进行升序排序。

SELECT employee_id, salary, salary * 12 annual_sal
FROM employees
ORDER BY annual_sal

但是列的别名不能在 WHERE 中使用
下面的MySQL语句会报错

SELECT employee_id, salary, salary * 12 annual_sal
FROM employees
WHERE annual_sal > 81600

为什么?进行解释

ORDER BYWHERE 同时出现时,WHERE 要往前放,即 WHERE 放在 FROM 的后面,ORDER BY 放在 WHERE 的后面。

SELECT employee_id, salary
FROM employees
WHERE department_id IN (50, 60, 70)
ORDER BY depart_id DESC

MySQL中 SELECT 查询语句的执行顺序,以上面的语句进行分析,首先执行 FROM employees 从哪个表中取数据,然后执行 WHERE department_id IN (50, 60, 70) 看看有什么过滤条件,筛选完后留下一波数据,然后执行 SELECT employee_id, salary 看看你想查什么数据(哪些字段或者列)这时可以对列进行起别名,最后执行ORDER BY depart_id DESC 有了列的别名后才能使用列的别名进行对查询结果进行排序。

一句话总结:WHERESELECT前面执行,所以在SELECT中定义的列的别名,无法在WHERE使用。

相关推荐

  1. MySQL零散拾遗

    2024-07-17 06:12:01       25 阅读
  2. MySQL零散拾遗

    2024-07-17 06:12:01       21 阅读
  3. MySQL零散拾遗(三)

    2024-07-17 06:12:01       19 阅读
  4. C++拾遗(三) 引用

    2024-07-17 06:12:01       39 阅读
  5. C语言拾遗

    2024-07-17 06:12:01       36 阅读
  6. mysql()

    2024-07-17 06:12:01       27 阅读
  7. Rust基础拾遗--辅助功能

    2024-07-17 06:12:01       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 06:12:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:12:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:12:01       57 阅读
  4. Python语言-面向对象

    2024-07-17 06:12:01       68 阅读

热门阅读

  1. chrome扩展清除指定站点缓存chrome.browsingData.remove

    2024-07-17 06:12:01       28 阅读
  2. linux中导出sql脚本

    2024-07-17 06:12:01       21 阅读
  3. git 提交远程仓库 方式

    2024-07-17 06:12:01       27 阅读
  4. 热修复的原理

    2024-07-17 06:12:01       22 阅读
  5. Springboot 3.x - Reactive programming (2)

    2024-07-17 06:12:01       25 阅读
  6. C++基础语法:STL之容器(1)--容器概述和序列概述

    2024-07-17 06:12:01       31 阅读
  7. 【前端】原生实现图片的放大与缩放

    2024-07-17 06:12:01       22 阅读
  8. Meta Llama - Model Cards & Prompt formats

    2024-07-17 06:12:01       22 阅读
  9. 后端开发面试题

    2024-07-17 06:12:01       22 阅读
  10. 自动化回滚的艺术:Conda包依赖的智能管理策略

    2024-07-17 06:12:01       26 阅读
  11. 探索Dubbo的服务引用:XML配置方式

    2024-07-17 06:12:01       26 阅读