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

逗号和sql之间的区别

湛鸿
2023-03-14
问题内容

在两个不同的表之间使用逗号或联接有什么区别?

例如以下两个代码:

SELECT studentId, tutorId FROM student, tutor;


SELECT studentId, tutorId FROM student JOIN tutor;

问题答案:

执行它们时并没有真正的区别,但是在工作中存在可读性,一致性和减轻错误的问题:

想象一下,如果您有4张桌子,如果使用老式的INNER JOIN方法,那么最终结果将是:

SELECT col1, col2
FROM tab1, tab2, tab3,tab4
WHERE tab1.id=tab2.tab1_id
AND tab4.id = tab2.tab3_id
AND tab4.id = tab3.tab4_id;

使用显式的INNER JOINS它将是:

SELECT col1, col2
FROM tab1
INNER JOIN tab2 ON tab1.id = tab2.tab1_id
INNER JOIN tab3 ON tab3.id = tab2.tab3_id
INNER JOIN tab4 ON tab4.id = tab3.tab4_id;

后者显示了您在桌子前面的确切位置。它具有更高的可读性,并且更容易出错,因为与在WHERE中添加另一个AND或完全添加错误的条件(就像我在上面的查询中所做的一样)相比,忘记ON子句更容易忘了。

另外,如果您正在执行其他类型的JOINS,则使用显式的编写方式,您只需将INNER更改为其他名称,并且代码将被一致地构造。



 类似资料:
  • 本文向大家介绍SQL和PL / SQL之间的区别,包括了SQL和PL / SQL之间的区别的使用技巧和注意事项,需要的朋友参考一下 SQL,结构化查询语言是一种用于创建,维护和检索关系数据库的标准数据库语言,而PL / SQL是SQL的过程语言扩展,它扩展了SQL并提供了过程功能。 以下是SQL与PL / SQL之间的重要区别。 序号 键 的SQL PL / SQL 1 定义 SQL,是数据库的结

  • 本文向大家介绍SQL和NoSQL之间的区别,包括了SQL和NoSQL之间的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,SQL和NoSQL都是数据库的类型,根据它们的实现和性质,它们都被分为两种类型。 以下是SQL和NoSQL之间的重要区别。 序号 键 的SQL NoSQL 1 类型 SQL数据库通常被归类为关系数据库,即RDBMS。 而NOSQL数据库被称为非关系数据库或分布式数据库。

  • 问题内容: SQL解释逻辑运算符和的方式是否有所不同? 问题答案: 对于mySQL:手册未明确说明,但它们被列为相同: AND, && 逻辑与。如果所有操作数都不为零且不为NULL,则计算为1;如果一个或多个操作数为0,则计算为0,否则返回NULL。 该运算符优先级页面也没什么distiction。

  • 本文向大家介绍DELETE和DROP SQL之间的区别,包括了DELETE和DROP SQL之间的区别的使用技巧和注意事项,需要的朋友参考一下 DELETE是数据操作语言命令DML命令,用于从关系/表中删除元组/记录。DROP是一种数据定义语言DDL命令,用于删除模式的命名元素,如关系/表,约束或整个模式。 以下是DELETE和DROP之间的重要区别。 序号 键 删除 下降 1 目的 DELETE

  • 本文向大家介绍Oracle和SQL Server之间的区别,包括了Oracle和SQL Server之间的区别的使用技巧和注意事项,需要的朋友参考一下 Oracle和SQL Server都是关系数据库管理系统或RDBMS。 以下是Oracle与SQL Server之间的重要区别。 序号 键 甲骨文 SQL服务器 1 由开发 Oracle Server由Oracle拥有。 SQL Server由Mi

  • 本文向大家介绍MySQL和SQL Server之间的区别,包括了MySQL和SQL Server之间的区别的使用技巧和注意事项,需要的朋友参考一下 MySQL和SQL Server都是关系数据库管理系统或RDBMS。MySQL是开源的,可以免费使用,而SQL Server是Microsoft的许可产品。 以下是MySQL和SQL Server之间的重要区别。 序号 键 的MySQL SQL服务器