关于SQL的连接查询
来源:互联网 发布:基金仓位测算数据 编辑:程序博客网 时间:2024/05/16 15:50
在sql语句中left join 的语法,select 字段 from 表a left 表b on 表a与表b的关联字段 where 筛选条件,多张表进行关联,只需要依次left join 即可,where的查询条件过滤需要放在最后一步
基本使用环境:做关联的表不能太大,如果可以左表放数据少的表,不要关联太多的表,在关联很多表时返回值字段能做到精简就精简
查询原理:先将左表数据查询出来,然后再依据 on 后面的条件查询 右表,然后将左右表的所有字段都并为一行即总列数为所有关联表列数相加
而关于数据条数(总行数):首先左表有的行一定会出现,即时右表没有也会出现,只是右表的字段对应的值为null,其次是右表中凡是关联到的行都会出现
即时关联的字段值是相同的也出现只是左表字段对应的值重复即可
使用要求:在使用left join操作时为了保证数据不丢失,左表为主数据表(不是数据量大表)
例子详解:人员表 人员详细信息表 这两张表关联,查询人员的详细信息操作,则人员为主表,因为人员不能缺少丢失 详细信息如果没有关联到可以为null
例如查询人员详细信息中地址的关联信息(比如有哪些人,房价)则人员详细信息表为主表,还是因为必须要保证所有的地址信息都要查询出来,即时没有关联到数据
sql的优化:left join 在遵循基本的使用环境时基本是没有问题的 但是当管理的表的数据量还是太大时就需要做一些基本的调优
调优的原来还是尽量缩小所关联的表的大小,还有就是关联时要设置索引进行关联
例: select * bumen a left join (select * from memb where id=?) b on a.id=b.id当memb表数据量过大时即可这样操作来缩小所关联表的大小,多张表的优化依此类推
基本使用环境:做关联的表不能太大,如果可以左表放数据少的表,不要关联太多的表,在关联很多表时返回值字段能做到精简就精简
查询原理:先将左表数据查询出来,然后再依据 on 后面的条件查询 右表,然后将左右表的所有字段都并为一行即总列数为所有关联表列数相加
而关于数据条数(总行数):首先左表有的行一定会出现,即时右表没有也会出现,只是右表的字段对应的值为null,其次是右表中凡是关联到的行都会出现
即时关联的字段值是相同的也出现只是左表字段对应的值重复即可
使用要求:在使用left join操作时为了保证数据不丢失,左表为主数据表(不是数据量大表)
例子详解:人员表 人员详细信息表 这两张表关联,查询人员的详细信息操作,则人员为主表,因为人员不能缺少丢失 详细信息如果没有关联到可以为null
例如查询人员详细信息中地址的关联信息(比如有哪些人,房价)则人员详细信息表为主表,还是因为必须要保证所有的地址信息都要查询出来,即时没有关联到数据
sql的优化:left join 在遵循基本的使用环境时基本是没有问题的 但是当管理的表的数据量还是太大时就需要做一些基本的调优
调优的原来还是尽量缩小所关联的表的大小,还有就是关联时要设置索引进行关联
例: select * bumen a left join (select * from memb where id=?) b on a.id=b.id当memb表数据量过大时即可这样操作来缩小所关联表的大小,多张表的优化依此类推
0 0
- 关于SQL的连接查询
- SQL关于连接查询
- 关于SQL的左右连接查询
- 关于Sql嵌套查询与连接查询的转换
- 关于sql连接查询问题
- SQL的连接查询
- SQL连接查询的方式
- sql的各种连接查询
- sql 表的连接查询
- SQL 数据库的连接查询
- sql的子连接查询
- 关于多表查询sql常用的连接语句:左外连接、右外连接、内连接
- SQL查询--连接查询
- 关于sql的链接查询
- 关于sql的查询语句
- 关于SQL 分页的查询
- 关于SQL数据库的查询
- SQL左连接查询和又连接查询的区别
- UGUI研究院之Text文本渐变
- Java synchronized 理解
- 地址加法器合成物理地址
- 段的概念
- 段寄存器
- 关于SQL的连接查询
- 自定义View之扩展式
- Leetcode #357 Count Numbers with Unique Digits
- 插入排序
- Python 基础回顾(四)
- PHP和MySQL 第一章 PHP快速入门
- 课后知识小结
- Debug.exe的几条基本命令
- “No 'Access-Control-Allow-Origin' header is present on the requested resource”