簡體   English   中英

帶別名的SQL嵌套查詢

[英]SQL nested query with alias

誰能解釋該查詢的執行方式,並且它是相關的嵌套查詢嗎?

select distinct id 
from activity ac3 
where ac3.activity_id = 151 and ac3.id in
    (select ac2.id from activity ac2 where ac2.activity_id = 150)

它不是相關的子查詢。 外部查詢和嵌套查詢之間沒有鏈接。 在此處查看相關子查詢的示例。

嵌套子查詢可以嵌套在其它子查詢中,它是嵌套在另一個SELECT語句中並返回中間結果的SELECT語句。 SQL執行內的次查詢,然后再下一級。 子查詢的結果是主查詢的查詢條件。

查詢執行與主查詢->子查詢->子子查詢等類似。

關聯子查詢 ,子查詢使用外部查詢中的值。 用於通過外部查詢處理的每一行的子查詢被計算一次。 這意味着子查詢被重復執行,對於外部查詢可能選擇的每一行,都會重復執行一次。

這是不相關的子查詢。

這不是一個相關查詢。 如果子查詢依賴於最外部查詢的結果,則它是一個相關查詢。 您需要閱讀更多內容。

這是一個簡單的子查詢。

執行計划select ac2.id from activity ac2 where ac2.activity_id = 150;

該查詢將首先執行,而主查詢則依賴於此查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM