mysql中where子句中使用别名查询出现问题
2021/8/13 19:35:58
本文主要是介绍mysql中where子句中使用别名查询出现问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、问题
在mysql中给字段起别名后,where子句中使用别名查询出现问题
SELECT
s.sid AS 学号,
s.sname AS 姓名,
COUNT(sc.course_id
) AS 选课数,
SUM(IFNULL(sc.num
,0)) AS 总成绩
FROM
student s
LEFT JOIN
score sc
ON
'学号'=sc.student_id
GROUP BY
'学号';
二、解决方案
别名分为两类:
1、表的别名,比如FROM student s,s就是student的别名;
2、查询结果中,对字段起别名,比如s.id as '学号',学号就是s.id的别名;
第二类别名,是建立在第一类别名的基础上的。而where中,只能使用表的别名+属性名(比如where s.id=1),而不能使用‘学号=1’。
SELECT ancestors,CONCAT(',',ancestors,',') AS 'wmtest' FROM `sys_company` WHERE CONCAT(',',ancestors,',') LIKE '%,28,%';
这里where 后面不能写成 where 'wmtest' like '%,28,%';这样就报错了,不能识别'wmtest'这一列。
这篇关于mysql中where子句中使用别名查询出现问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-25MySQL报错Duplicate entry '0' for key 'PRIMARY'
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享