本篇文章主要介绍了" mysql多表查询",主要涉及到方面的内容,对于其他数据库感兴趣的同学可以参考一下:
在做连表查询的时候,可以在联合的字段上面,分别加上索引字段,这样有加快搜索的速度左右连表查询时条件放在on后面和where后面的执行时机是不一样的例如test1...
在做连表查询的时候,可以在联合的字段上面,分别加上索引字段,这样有加快搜索的速度
左右连表查询时条件放在on后面和where后面的执行时机是不一样的
例如
test1表

test2表

执行
SELECT * FROM test1 t1 LEFT JOIN test2 t2
ON t1.no=t2.no AND t2.name='aaa';
结果为

SELECT * FROM test1 t1 LEFT JOIN test2 t2
ON t1.no=t2.no WHERE t2.name='aaa';

从这两个查询的结果集可以看出来,on的条件是优先于where的,第一个查询是首先将t2表满足条件的筛选出来,然后用t1表左连过去,将t1表全部映射到t2上面,第二个查询是,首先t1表和t2进行左连查询后,在将满足的条件筛选出来
扩展一下
SELECT * FROM test1 t1 LEFT JOIN test2 t2
ON t1.no=t2.no AND t1.name='zhou';

这个时候就会发现,首先筛选出t1中name=zhou的信息,然后将整个t1表左连到t2,只不过将zhou的信息优先放在第一条
右连效果同样
SELECT * FROM test1 t1 RIGHT JOIN test2 t2
ON t1.no=t2.no AND t1.name='zhou';

SELECT * FROM test1 t1 RIGHT JOIN test2 t2
ON t1.no=t2.no AND t2.name='bbb';

以上就介绍了 mysql多表查询,包括了方面的内容,希望对其他数据库有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_4569465.html