问题描述
- 关于SQL多表关联的问题
-
我想知道多表关联在什么情况下会出现取出的行变多的情况?
就是在多表关联之后,什么情况下select出来的结果会比你本来希望查询到的结果多?
谢谢。
解决方案
解决方案二:
那要看你的查询条件是不是超过了你的期望,同时用内连接,而不是left join等
解决方案三:
关于你想知道的情况,你可以查询一下 “笛卡尔乘积”。笛卡尔乘积就会导致取出的数据比我们需要的数据多的问题。
我们在表查询的时候,要注意避免出现笛卡尔乘积。
使用交叉连接会产生笛卡尔乘积 select * from A cross join B或不使用任何连接条件,也可产生笛卡尔乘积 select * from A,B
时间: 2024-10-05 04:36:32