區分關聯子查詢和非關聯子查詢
子查詢可區分為關聯子查詢和非關聯子查詢,他們和外層查詢之間的執行順序和關係是不同的。
關聯子查詢:
在關聯子查詢中,對於外部查詢返回的每一行資料,內部查詢都要執行一次。另外,關聯子查詢的資訊流是雙向的,外部查詢的每行資料傳遞一個值給子查詢,然後子查詢為每一行資料執行一次並返回它的記錄,之後外部查詢根據返回的記錄做出決策。
select * from dept d where exists(select * from emp e where e.deptno = d.deptno);
特點:
1、先執行外層查詢
2、再執行內層查詢
非關聯子查詢:
非相關子查詢是獨立於外部查詢的子查詢,子查詢執行完畢後將值傳遞給外部查詢。
select * from emp where sal = (select max(sal) from emp);
特點:
1、先執行內層查詢
2、再執行外層查詢
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2645019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- exist-in和關聯子查詢-非關聯子查詢
- 相關子查詢&非相關子查詢概念
- 關聯子查詢 Correlated Subqueries
- 關聯查詢子查詢效率簡單比照
- sql語法相關子查詢與非相關子查詢SQL
- 關聯子查詢的用處
- MySQL聯結查詢和子查詢MySql
- 在關聯子查詢中in與exists的區別
- 什麼是SQL 語句中相關子查詢與非相關子查詢SQL
- Laravel 通過子查詢建立動態關聯Laravel
- MyBatis關聯查詢MyBatis
- thinkphp關聯查詢PHP
- MySQL exists關聯子查詢SQL效能及其低下最佳化之等值子查詢轉換MySql
- MySQL 相關子查詢MySql
- java 分庫關聯查詢工具類Java
- MySQL 優化五(關聯查詢子查詢以及 in 的效率問題)(高階篇)MySql優化
- Mongodb 關聯表查詢MongoDB
- MySQL多表關聯查詢MySql
- JPA多表關聯查詢
- 子查詢-表子查詢
- 【SQL】使用分析函式與關聯子查詢的比較SQL函式
- SQL -- 使用聯結還是子查詢?SQL
- SQL查詢的:子查詢和多表查詢SQL
- mysql 三表關聯查詢MySql
- mysql三表關聯查詢MySql
- mysql關聯查詢優化MySql優化
- 關聯查詢時使用樹狀查詢要小心
- Transformation之Non-correlated(無關聯子查詢)=any的transform【五】ORM
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 如何做多表關聯查詢
- mysql三張表關聯查詢MySql
- mysql中的多表關聯查詢MySql
- thinkphp中的多表關聯查詢PHP
- SQL三表左關聯查詢SQL
- 求助:DetachedCriteria關聯查詢問題~~
- 兩表關聯查詢:sql、mybatisSQLMyBatis