我有两个问题:
$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");
此查询返回相同的结果。他们之间有什么不同。
答案 0 :(得分:0)
两者都是一样的。第一个查询基本上是后端的内连接,但是你编写第二个查询的方式,你可以使用左连接,右连接等与该查询。 两者都将在后端执行笛卡尔积,并根据检查过滤掉结果。
您需要使用第二种查询格式才能使用左连接,右连接等。
常用的另一种方法称为嵌套查询。它们比连接快得多,因为后端没有笛卡尔积。
答案 1 :(得分:0)
$query = mysql_query("SELECT ord.orderID, customers.CustomerName,
FROM ord
INNER JOIN customers
ON customers.CustomerSalary=ord.orderID");
此查询优先于另一个查询,因为首先应用内连接,然后应用where子句。
其他好处我看到你可以改变内外连接。
清洁代码。