回答

收藏

在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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则