MySql INNER JOIN三表联查性能如何提升
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql INNER JOIN三表联查性能如何提升相关的知识,希望对你有一定的参考价值。
SELECT product.*,stock.bj,stock.sh,stock.gz,stock.cd,stock.wh,stock.sy,stock.xa,sales_volume.fif,sales_volume.thirty
FROM `product`
LEFT JOIN `stock` ON product.sku=stock.sku
LEFT JOIN `sales_volume` ON product.sku=sales_volume.sku
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
INNER JOIN 语法:
INNER JOIN 连接两个数据表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
INNER JOIN 连接三个数据表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
INNER JOIN 连接四个数据表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN
表4 ON Member.字段号=表4.字段号
INNER JOIN 连接五个数据表的用法:
SELECT * FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3
ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON
Member.字段号=表5.字段号 参考技术A 告诉你一个原则小表驱动大表,也就是最左边的表一定是数据量少于join后面的那些表。
三表联查
SELECT u.`id`,u.`user_id`,u.`name` FROM USER u
LEFT JOIN user_dept ud ON u.`id`=ud.`user_id`
LEFT JOIN dept d ON ud.`dept_id`=d.`id`
WHERE d.`id`=1
GROUP BY u.`id`
以上是关于MySql INNER JOIN三表联查性能如何提升的主要内容,如果未能解决你的问题,请参考以下文章