两个sql查询之间有什么区别

两个sql查询之间有什么区别,sql,Sql,这两个问题有什么区别吗?这是来自测试,一个asnwer是对的,因此另一个是错的。对我来说,两者都是有效的和相似的 B. SELECT Cust_No, Cust_Name, Emp_Name, Emp_Loc FROM Customers, Employees WHERE Customers.Sales_Rep_No = Employees.Sales_Rep_No; C. SELECT Cust_No, Cust_Name, Emp_Name, Emp_Loc FROM Customers,

这两个问题有什么区别吗?这是来自测试,一个asnwer是对的,因此另一个是错的。对我来说,两者都是有效的和相似的

B. SELECT Cust_No, Cust_Name, Emp_Name, Emp_Loc FROM
Customers, Employees WHERE Customers.Sales_Rep_No =
Employees.Sales_Rep_No;

C. SELECT Cust_No, Cust_Name, Emp_Name, Emp_Loc FROM
Customers, Employees WHERE Employees.Sales_Rep_No =
Customers.Sales_Rep_No;

没有任何功能上的差异。

是的,它们的
WHERE
-子句不同,但其他所有内容(连接的表、检索的列是相同的,它们也应该产生相同的结果):

其中Customers.Sales\u Rep\u No=Employees.Sales\u Rep\u No


其中Employees.Sales\u Rep\u No=Customers.Sales\u Rep\u No

一个前面有“B”,另一个前面有“C”。比较的顺序是相反的。也不要在
select
中的列上使用正确的显式
join
语法或别名。两者都同样糟糕,但应该产生相同的结果。这有什么关系?@Tigran it不应该:)谢谢。和我的想法一样。如果你说没有函数上的差异,并解释了为什么会有这种差异,这个答案会更正确。在SQL中,等式不是可交换的吗?