0

多表查询,内连接、外连接、自然连接、左连接、右连接有什么区别?

为什么查询的时候要消除笛卡尔积,如果不消除有什么问题吗?笛卡尔积有什么影响?

求大神指导,非常感谢!

1个回答

0

已采纳

你这是好几个问题。

多表查询,内连接、外连接、自然连接、左连接、右连接有什么区别?

这个是概念,可以 Google。

为什么查询的时候要消除笛卡尔积,如果不消除有什么问题吗?笛卡尔积有什么影响?

简单解释一下,举个例子:

  • 表A共50行
  • 表B共100行

我们进行多表查询。(假设结果是30行)

第一种方式,先求A和B的笛卡尔积,共得到50*100=5000行,然后在5000行的一个临时表里面查找符合条件的30行(映射)。

第二种方式,先在表A中查询符合条件的,得到10个结果,然后把结果和表B相乘(笛卡尔积),得到1000行的临时表,最后再查找一次(映射)。

还有第三种方式,就是先操作B,映射的结果在和A相乘。

撰写答案