不同的mySQL查询INNER JOIN

时间:2015-04-01 08:28:39

标签: mysql sql

我有两个问题:

$query = mysql_query("SELECT ord.orderID, customers.CustomerName,       
                      FROM ord, customers
                      WHERE customers.CustomerSalary=ord.orderID");

$query = mysql_query("SELECT ord.orderID, customers.CustomerName, 
                      FROM ord
                      INNER JOIN customers
                      ON customers.CustomerSalary=ord.orderID");

此查询返回相同的结果。他们之间有什么不同。

2 个答案:

答案 0 :(得分:0)

两者都是一样的。第一个查询基本上是后端的内连接,但是你编写第二个查询的方式,你可以使用左连接,右连接等与该查询。 两者都将在后端执行笛卡尔积,并根据检查过滤掉结果。

您需要使用第二种查询格式才能使用左连接,右连接等。

常用的另一种方法称为嵌套查询。它们比连接快得多,因为后端没有笛卡尔积。

答案 1 :(得分:0)

$query = mysql_query("SELECT ord.orderID, customers.CustomerName, 
                      FROM ord
                      INNER JOIN customers
                      ON customers.CustomerSalary=ord.orderID");

此查询优先于另一个查询,因为首先应用内连接,然后应用where子句。

其他好处我看到你可以改变内外连接。

清洁代码。