当前位置: 首页 > 面试题库 >

为什么要从多个表中选择而不进行联接

姜森
2023-03-14
问题内容

在联接表时,传统上可以使用SQL89的联接方式,例如

SELECT * FROM t1, t2 WHERE t1.id = t2.t1_id;

但是从SQL92标准开始,我们现在可以使用JOIN语法进行联接

SELECT * FROM t1 JOIN t2 on t1.id=t2.t1_id;

有什么理由使某人SELECT从多个表中不加入就可以吗?现在,我知道人们使用来连接数据UNION,但这不是我要说的。

我们FROM严格在向后兼容的原因中在子句中添加带有逗号的表的原因是吗?还是有任何现实的情况,仅通过联接就不可能使用旧语法?


问题答案:

如果出于某种原因需要完整的笛卡尔积,则可能会很有用。例如,如果您有汽车模型表和汽车颜色表,并且想要枚举所有选项,则不需要联接。话虽这么说,我认为这是一个极端的情况。



 类似资料:
  • 我想问一下,是否有人只能从表A中选择值。请参阅下面的hibernate代码 现在,它就像从A、B和C中选择值,而且太多了。 谢谢你吉米

  • 问题内容: 如何选择多个表并从同一列联接多个行? 它不会返回,并且。我确定此SQL代码段的语法错误。 更新: 显示。移除后 它返回: 但我需要退货: 问题答案: 您可以多次连接到同一张表,而只需提供不同的别名

  • 问题内容: 在Java背景下玩Swift,为什么要选择Struct而不是Class?似乎它们是同一回事,但Struct提供的功能较少。为什么选择它呢? 问题答案: 根据非常流行的WWDC 2015演讲《 Swift中的面向协议的编程》(视频,成绩单),Swift提供了许多功能,这些功能在许多情况下都比类更好。 如果结构相对较小且可复制,则结构是可取的,因为与在类中多次引用相同实例相比,复制要安全得

  • 问题内容: 我想根据URL字符串选择一些ID,但对于我的代码,它仅显示第一个。如果我写手册的ID是伟大的。 我有这样的网址http://www.mydomain.com/myfile.php?theurl=1,2,3,4,5(ids) 现在在myfile.php中,我有sql连接,并且: 如果我使用这个: 我得到正确的结果。现在,如果我使用下面的代码,它将无法正常工作: 有什么建议? 问题答案:

  • 我对使用MySQL非常陌生,我还在学习。 假设我有3个表在一个数据库。表格如下: 包含ID(PK)和Name 包含ID(主键)、姓名等 包含rol_num(PK),student_id和course_id。 student_id参考学生(id)course_id参考课程(id) 基本上学生详情在学生表中,课程详情在课程表中,入学表是学生及其课程的链接表 使用Select query命令,如何获取所

  • 问题内容: 我正在尝试查找一个表中的行,而不是另一个表中的行,这两个表都在不同的数据库中,并且在我要用来匹配的列上也有不同的列名。 我有一个查询,下面的代码,我认为它可能有效,但是速度太慢: 因此查询尝试执行以下操作: 从R2R.partmaster数据库中选择wpsapi4.product_details数据库中没有的所有ID。我匹配的列是partmaster.id和product_detail