回答

收藏

为什么要选择多个表而不是连接?

技术问答 技术问答 199 人阅读 | 0 人回复 | 2023-09-14

传统上可以使用联接表SQL89的连接方式,如
3 e9 A/ s- S+ J# m1 [( USELECT * FROM t1,t2 WHERE t1.id = t2.t1_id;但是从SQL我们现在可以用92标准了JOIN语法连接0 l& ]5 O( Z2 ^& P/ e$ ~
SELECT * FROM t1 JOIN t2 on t1.id=t2.t1_id;有什么什么理由?SELECT可以不加入多个表吗?现在,我知道人们用它来连接数据UNION,但这不是我想说的。! D" M. s3 K# S6 r+ }" w
我们FROM之所以严格在向后兼容的原因中在子句中加入逗号表,是因为吗?还是有什么现实情况,旧语法可能仅仅通过连接使用?
/ m" ?* R  G" l: C. Q6 ?. B6 X                                                               
0 I6 \. @. u# y6 L- I6 \. x1 O    解决方案:                                                               
4 i! ?  \( R; d1 j- e# R                                                                如果出于某种原因需要完整的笛卡尔积,它可能会非常有用。例如,如果您有一个汽车模型表和一个汽车颜色表,并且想列出所有选项,则无需连接。尽管如此,我认为这是一个极端的情况。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则