在SQL中,JOIN和CROSS JOIN有什么区别?
技术问答
279 人阅读
|
0 人回复
|
2023-09-14
|
之间有什么区别?( U3 L9 i! v1 L% Q, c$ @
select t1.a1, t1.a2, t1.a3 from t1 cross join t2 where t1.a3 = t2.a1, A/ B% {) `! F2 w# ]
和:5 P1 K; t! W6 Q$ C1 d9 k
select t1.a1, t1.a2, t1.a3 from t1,t2 where t1.a3=t2.a1;2 y+ w# F: y% W- Y; e3 _
我可以互换使用吗?/ C3 K# u8 W# ?7 G4 w9 n# P, z
/ S7 T5 a1 Z7 {( f; A解决方案:
- J7 \4 l/ }8 e* D2 D ( L* z5 |. Z' `( K, X6 J: k
, M' }6 \4 N2 @+ K& O( W& Q
& t1 v) l& N6 W MySQL在JOIN和之间没有区别CROSS JOIN。他们是一样的。1 @! _5 k- {6 o$ m8 j, N2 i6 X% O2 `
在两个示例中,子句
) r( X2 A7 W# B; yWHERE t1.a3 = t2.a1 T& J& q" w8 A* e
将任何类型的联接转换为内部联接。表达此查询的标准方式是6 w9 K. M% {4 X L Y
SELECT t1.a1, t1.a2, t1.a3 8 X7 W7 D) R& q( Q& e) h3 l
FROM t1 ( O% D4 h9 U4 \$ T0 k3 S
JOIN t2 ON t1.a3 = t2.a1 |
|
|
|
|
|