單行子查詢返回多行是什麼意思
“單行子查詢返回多行”通常是在執行數據庫查詢時,系統返回的錯誤提示,一般是在select後面from前面有子查詢,但子查詢又有多個記錄返回。
比如,有兩張表分別記錄學生和其親屬的檔案,兩個表用學生學號關聯,現我們要查詢學生和親屬的姓名,如果寫爲如下方式:
select 學生表.姓名,(select 姓名 from 親屬表 where 親屬表.學號=學生表.學號) as 親屬姓名 from 學生表
就會報出“單行子查詢返回多行”錯誤,因爲一個學生可能不止留了一條親屬的記錄。如果想把學生的親屬都查出來,可以用左連接:
select 學生表.姓名 as 學生姓名, 親屬表.姓名  as 親屬姓名
from 學生表
left join 親屬表 on 親屬表.學號=學生表.學號
單行子查詢返回多行是什麼意思
查詢語句,子查詢的結果是作爲父查詢的一個列,所以也要求返回單行,當子查詢出現多條返回記錄時,同樣會出現單行子查詢返回多個行的錯誤提示。