靓丽时尚馆

位置:首页 > 健康生活 > 心理

单行子查询返回多行是什么意思

心理2.47W
单行子查询返回多行是什么意思

“单行子查询返回多行”通常是在执行数据库查询时,系统返回的错误提示,一般是在select后面from前面有子查询,但子查询又有多个记录返回。

比如,有两张表分别记录学生和其亲属的档案,两个表用学生学号关联,现我们要查询学生和亲属的姓名,如果写为如下方式:

select 学生表.姓名,(select 姓名 from 亲属表 where 亲属表.学号=学生表.学号) as 亲属姓名 from 学生表

就会报出“单行子查询返回多行”错误,因为一个学生可能不止留了一条亲属的记录。如果想把学生的亲属都查出来,可以用左连接:

select 学生表.姓名 as 学生姓名, 亲属表.姓名  as 亲属姓名

from 学生表

left join 亲属表 on 亲属表.学号=学生表.学号

单行子查询返回多行是什么意思

查询语句,子查询的结果是作为父查询的一个列,所以也要求返回单行,当子查询出现多条返回记录时,同样会出现单行子查询返回多个行的错误提示。

标签:多行 单行 返回