数据库中子查询和表连接查询该怎么取舍?

数据库中子查询和表连接查询该怎么取舍?,第1张

子查询最终是针对某张表的数据信息进行筛选,也就是说不管你嵌套了几层子查询,最后还是在基表中筛选数据;而表连接的话,又分了很多种,比如笛卡尔积,这个就是两个表的所有结果乘积,另外还有自然连接那些,通过表连接查询的结果可以是多张表的合集……也就是说最终展现的时候,多表连接可以是多个表的数据结果,而子查询却只是一个基表里面的某些筛选数据。至于效率,书上基本都只是说在嵌套子查询中,特别是多重嵌套时,系统花销较大,但是实际嵌套子查询与连表查询谁效率高,这个就没有谁能说的清楚了。因为具体的查询效率可以从很多方面进行优化的,比如建表时创建相关索引,根据表结构创建相关表分区,对常使用查询但不常修改数据的表进行簇集等等,这些都可以在查询效率上进行提高。所以对于你提出的想知道两种方式谁优谁劣,我也不好评价,只能提供一些提高查询效率的方法。希望这补充的内容可以给你帮助。

select s.num1,t.num2 from

(select count(*) num1 from student) s,

(select count(*) num2 from teacher) t

分别用两个子查询查出两个标的记录,即临时表,然后列出来就可以。有问题再留言

select 一个表(表名) a left join

另一个表(表名) b on a.字段名=b.字段名

真不会写了可以在数据库软件中把两个表建成一个视图然后把视团的SQL语句复制出来用就行


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10870397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存