sql知识点&查询优化

本文详细介绍了SQL的多表连接类型,如内连接、外连接、交叉连接,并阐述了where条件与left/right join on条件的区别。同时,讨论了索引失效的多种情况以及如何避免。此外,还提出了数据库结构优化建议,如分表、增加中间表以及分解关联查询等,以提高查询效率。最后,提到了分页查询的优化方法,包括合理使用limit、覆盖索引以及in和exists的选用策略。
摘要由CSDN通过智能技术生成

1,多表连接

    内连接:内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行

               实例: (隐式)select * from A, B where A.id=B.id     (1)

                           (显式)select * from A inner join B on A.id=B.id    (2)

    外连接:left join(left outer join)和 right join(right outer join)

                1)left join或left outer join  左向外联接的结果集包括 left join子句中指定的左表(A表)的所有行,而不仅仅是联接列所                         匹 配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。                                 例:select * from A left join B on A.id=B.id   
                2)right join或 right outer join    右向外联接是左向外联接的反向联接。将返回右表(B表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值