合肥刚刚通报阳性,如何给网站做外部优化,seo与网站建设,wordpress仿蛙壳网主题不相关子查询
子查询的查询条件不依赖于父查询#xff0c;称不相关子查询。子查询可以单独运行的
select stu_id,sex,age
from student t
where sex(select sexfrom studentwhere stu_id10023
)相关子查询 关联子查询
子查询的查询条件依赖于父查询#xff0c;称为 相关子…不相关子查询
子查询的查询条件不依赖于父查询称不相关子查询。子查询可以单独运行的
select stu_id,sex,age
from student t
where sex(select sexfrom studentwhere stu_id10023
)相关子查询 关联子查询
子查询的查询条件依赖于父查询称为 相关子查询。子查询不能单独运行的 子查询 也称 内部查询 父查询 也称 外部查询 如果子查询的执行依赖于外部查询通常情况下都是因为子查询中的表用到了外部的表并进行了条件关联因此每执行一次外部查询子查询都要重新计算一次这样的子查询就称为 关联子查询 首先从父查询中取出table1表的一个元组outer将元组outer的expr2值传递给子查询。
然后执行子查询得到某个值用这个值代替 子查询的结果 父查询由 嵌套查询 变为 只有一层外层查询的简单的查询。
最后执行这个简单的查询即得结果。
相关 vs 不相关
相关子查询 的查询过程 就像 高级语言的 双重For循环一样先执行一次外层循环然后执行内层循环完毕后继续执行外层循环的下一个值。
不相关子查询 就是先一次性把 内层查询 执行再 执行外层 查询。
在select 语句中除了 group by和 limit 之前其他的位置都可以声明 子查询
Exists 、Not Exists
select col1col2,… from table1 outer where Exists ( select col1,col2 from table2 where expr1outer.expr2 ); 关联子查询通常会和EXISTS操作符一起使用用来检查在子查询中是否存在满足条件的行。 如果在子查询中不存在满足条件的行 1、条件返回False 2、继续在子查询中查找 3、若最终子查询都没查到则主查询的记录 就舍弃了 如果在子查询中存在满足条件的行 1、不在子查询中继续查找 2、条件返回True 3、主查询的记录会被保留
NOT EXISTS 关键字 表示 如果不存在某种条件则返回True否则返回False
通常 多表查询 比 子查询效率更高一些 数据搜索引擎 如果子查询能转换城成多表查询会自动转换。