mysql左连接

Posted 超超小仙女

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql左连接相关的知识,希望对你有一定的参考价值。

1.on 后面的条件和where 后面的条件的区别

查询语句开始 会根据 on后面的条件创建一张虚拟表,左边表是全部数据,右边表会根据on后面的条件进行筛选。

然后再根据where后面的条件进行筛选虚拟表中的数据作为最终数据

所以如果是筛选右表中的条件 放在了where 中则则会过滤掉 部分左表中的数据

结论:筛选右表的条件和左右表关联的条件写在on中  筛选左表的条件写在where中  

 2.右表中的条件放在on中 如果右表的数据量很大的情况下会有很长的查询时间  是因为创建虚拟表的时候由于数据量大 查询条件没有索引造成的  所以相应的增加索引进行查询。

3.创建索引

alter table  tableName  add Index indexName(clum);

ALTER  TABLE optable_task_item  ADD  INDEX task_id (  `task_id`  );

4.那么where 中的条件创建索引时候有用呢?

 

以上是关于mysql左连接的主要内容,如果未能解决你的问题,请参考以下文章

mysql左连接没有数据还会查出来吗

MySQL连接查询之内连接左连接右连接自连接

mysql中的左连接和右连接有啥区别[重复]

MySql连接——内连接外连接(左连接右连接全连接)

图解MySQL 内连接外连接左连接右连接全连接

深入浅出:MySQL的左连接右连接等值连接