相关子查询和不相关子查询
生活随笔
收集整理的這篇文章主要介紹了
相关子查询和不相关子查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
相關子查詢:
比如
select t.id,t.name,t.pass from student t where 80<=(select f.score from fwhere f.id=t.id and f.name='xxx')這就是1個相關子查詢,可以理解為2層循環,要想執行內層的查詢,需要先從外層查詢到1個值出來。
執行的順序是,父查詢1個值,子查詢對這個得到的值進行1輪查詢,總查詢次數是m*n
因為子查詢需要父查詢的結果才能執行,所以叫相關子查詢
?
不相關子查詢:
比如:
select t.id,t.name,t.pass from t where t.id in (select f.id from f where f.score=70)這就是1個不相關子查詢,子查詢的不需要父查詢把結果傳進來,所以叫不相關子查詢
執行順序是子查詢先執行,得到結果后傳給父查詢,父查詢就不用每次查詢完1個值后再執行1輪子查詢
由于2個查詢是分開的,無關聯的,所以叫不相關子查詢,查詢次數是m+n
總結
以上是生活随笔為你收集整理的相关子查询和不相关子查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最凄美的爱情故事,让每对爱人更长久的文章
- 下一篇: imag_collected