解释在JOIN语句中选择"FROM"的表

ben*_*hky 7 mysql sql join

我是SQL的新手,如果我使用点符号来选择我想要的,我很难理解为什么FROMJOIN语句中有关键字tables.columns.我从两个表中选择哪个表格是否重要?我在w3schools定义中没有看到任何解释,表格是哪个FROM表格.在下面的示例中,我如何知道要选择哪个表FROM?由于我基本上已经选择了哪个table.column选择,它可以是吗?

例如:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 7

订单无关紧要INNER JOIN.

但是,它在物质LEFT JOINRIGHT JOIN.在a中LEFT JOIN,FROM子句中的表是主表; 结果将包含从此表中选择的每一行,而表中命名的行LEFT JOIN可能会丢失(这些列将NULL在结果中).RIGHT JOIN类似但相反:在名为的表中可能缺少行FROM.

例如,如果您更改要使用的查询LEFT JOIN,您将看到没有订单的客户.但是,如果您交换了表的顺序并使用了a LEFT JOIN,那么您将看不到这些客户.您会看到没有客户的订单(尽管这些行可能不存在).