SQL查询时出现了子查询返回多条记录是什么意思啊

如题所述

SQL查询时出现了子查询返回多条记录意思是符合子查询查询条件的有多条记录。

在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。当获得一个查询的答案需要多个步骤的操作,首先必须创建一个查询来确定用户不知道但包含在数据库中的值,将一个查询块嵌套在另一个查询块的WHERE字句或HAVING短语的条件中查询块称为子查询或内层查询。

子查询的输出可以包括一个单独的值(单行子查询)、几行值(多行子查询)、或者多列数据(多列子查询)。

扩展资料:

子查询SELECT语句不能包括在ORDER BY子句中。因为ORDER BY字句只能对最终查询结果排序,如果显示的输出需要按照特定顺序显示,那么ORDER BY子句应该作为外部查询的最后一个子句列出。

子查询“必须包括在一组括号中”,以便将它与外部查询分开。如果将子查询放在外部查询的WHERE或HAVING子句中,那么该子查询只能位于比较运算符的“右边”。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
就是子查询里面有多行结果,这个时候你用IN 就可以了,比如
select * from A where a=(select a from B )
select a from B这里有多行结果
改写下
select * from A where a in (select a from B )追问

谢谢你,但我按那做了后,结果出现SQL:找不到列“**”是什么原因了,我已经把那个表打开了,但一运行命令,表就自动关闭了

追答

不太清楚,你可以一步一步查询,从括号里面的一步一步查询看下是那里的问题

本回答被提问者采纳
相似回答