当前位置:首页 > 编程笔记 > 正文
已解决

mysql使用--连接查询

来自网友在路上 180880提问 提问时间:2023-11-21 00:05:40阅读次数: 80

最佳答案 问答题库808位专家为你答疑解惑

1.连接查询
如:SELECT * FROM t1, t2;
上述FROM语句将t1表,t2表连接。
假设t1表含n条记录,t2表含m条记录,则t1, t2得到的表将包含n*m条记录。

我们以一个混合连接,过滤的查询分析语句执行过程。
如:SELECT * FROM t1, t2 WHERE t1.m1 > 1 AND t1.m1 = t2.m2 AND t2.n2 < ‘d’;
(1).针对FROM子句得到结果集1。
(2).对结果集1中每行执行过滤条件,得到结果集2。
(3).对结果集2执行SELECT得到最终结果集。

上述是从执行效果角度解释执行逻辑。实际执行中为了效率优化的考量,会视t1为驱动表,视t2为被驱动表。
先结合WHERE子句对驱动表执行过滤,再针对过滤后表中每条记录与被驱动表结合执行其他过滤条件以得到最终结果集。

2.内连接和外连接
执行连接查询时,如果驱动表中某一行执行连接后得到的多行中,全部被WHERE过滤掉了,这样最终结果集中中将不含驱动表此行的相关信息,有时这不是我们希望的。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"mysql使用--连接查询":http://eshow365.cn/6-40716-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!