子查詢:嵌套在其它查詢中的查詢語句。(又稱為内部查詢)
主查詢:包含其它子查詢的查詢稱為主查詢。(又稱外部查詢)
在主查詢中,子查詢隻需要執行一次,子查詢結果不再變化,供主查詢使用,這種查詢方式稱為非相關子查詢。
也可以這麼了解:
非相關子查詢是獨立于外部查詢的子查詢,子查詢總共執行一次,執行完畢後将值傳遞給外部查詢。
現在我們來對這個表做一個查詢:
查詢具有年齡相同的人在2人及以上的,他們的年齡分别是多少。
count(age)在這裡隻是作為供主查詢使用的條件。
相關子查詢的執行依賴于外部查詢的資料,外部查詢執行一行,子查詢就執行一次。
執行查詢的時候先取得外部查詢的一個屬性值,然後執行與此屬性值相關的子查詢,執行完畢後再取得外部父查詢的下一個值,依次再來重複執行子查詢;
我們先把表格增加一列sex并設定好值。
接下來:
查詢不但具有年齡相同的人在2人及以上的,而且性别是1的那些人的年齡。