sql关联查询使用别名报错

Posted zhoujl-5071

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql关联查询使用别名报错相关的知识,希望对你有一定的参考价值。

我有两个关联表:

student{
    id,
    class_id,
    name,
    age,
    comment
}
class{
    id,
    name,
    grade,
    comment
}

 现在执行以下sql:

select s.id as id, s.name as name, s.age.as age, c.grade as grade  from student s join class c on s.class_id = c.id;

  报错

java.sql.SQLException: Column ‘age‘ not found.

  发现:age字段只有student表中有,使用别名的情况下会报错(某个表独有的字段不能使用别名)

  所以以上sql修改为以下sql,即可正确执行:

select s.id as id, s.name as name, age, c.grade  from student s join class c on s.class_id = c.id;

  源码级别的原因稍后研究过再补上吧!

 

以上是关于sql关联查询使用别名报错的主要内容,如果未能解决你的问题,请参考以下文章

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

sql mysql多表如何关联查询

MyBatis关联查询,表字段相同,resultMap映射问题的解决办法

mysql派生查询必须有别名问题记录

Java--Mybatis关联查询,多表同名字段导致SQL报错

sql用inner join内关联查询有多条记录一样只取一条?