相关子查询 与 嵌套子查询 有何区别 ?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关子查询 与 嵌套子查询 有何区别 ?相关的知识,希望对你有一定的参考价值。
相关子查询 与 嵌套子查询 有何区别 ?
参考技术A 相关子查询是先逐行扫描外部查询的每一行,让每一行与内部查询的表进行对比,满足内部查询where 条件的返回真,不满足的返回假.单独执行内部查询是会报错的。嵌套子查询是先对内部查询进行查询,将查询出来的结果返回给外部查询的where 做为条件.在执行外部查询!本回答被提问者采纳 参考技术B 一楼是高手,回答的很好!
Yii2.0ActiveRecord嵌套子查询(AR子查询)
yii2.0的ActiveRecord是可以嵌套子查询的。
比如从一个子查询里面筛选数据。
首先实例化出来一个Query对象,代表子查询。
$subQuery = new yiidbQuery(); $subQuery->from(‘tableA‘)->where([‘>=‘, ‘id‘, 10]);
假如UserModel是一个AR:
$list = UserModel::find()->from([‘tmpA‘ => $subQuery])->all();
from里面传数组,数组KEY是临时表的名字,值是Query对象。
同样的如果是AR的join里面也要用到子查询,参数方式是一样的。
以上是关于相关子查询 与 嵌套子查询 有何区别 ?的主要内容,如果未能解决你的问题,请参考以下文章