这两条sql语句有什么区别
一种)select * from T1,T2 where T1.A=T2.A ;
b)select * from T1,T2 where T2.A=T1.A ;
我在两种情况下都得到相同的输出,两种语句之间有什么区别吗?
C)select * from T1 inner join T2 on T1.A=T2.A ;
语句 C 和 a 之间有什么区别?在这种情况下,也得到与 a 和 b 相同的输出......
Inner Joins也可以写成sql语句吗?
这两条sql语句有什么区别
一种)select * from T1,T2 where T1.A=T2.A ;
b)select * from T1,T2 where T2.A=T1.A ;
我在两种情况下都得到相同的输出,两种语句之间有什么区别吗?
C)select * from T1 inner join T2 on T1.A=T2.A ;
语句 C 和 a 之间有什么区别?在这种情况下,也得到与 a 和 b 相同的输出......
Inner Joins也可以写成sql语句吗?
它们都是使用相同连接条件连接两个表的本质不同的方法。
在 1 和 2 之间,就数据库而言,绝对没有区别。
最后一个选项是标准化的连接语法——这是你应该使用的,以确保你的 SQL 是可读的——这是阅读你的 SQL 的人在你连接表时期望看到的。
SQL 就像数学那样。平等是对称的。如果 A = B,则 B = A。应该没有区别。
JOIN/ON 表示法只是编写相同内容的另一种方式。符号不同以在视觉上强调连接。
输出比任何数量的 SO 用户都更能告诉你答案。为什么不相信自己的眼睛?
都一样没有区别
这些是不同的方式
(a) 和 (c) 是相同的,除了第二个是 ANSI-92 SQL 语法,第一个是不包含连接子句的旧 SQL 语法。它们应该产生完全相同的内部查询计划,尽管您可能想检查一下。
您应该使用 ANSI-92 语法有几个原因