gpt4 book ai didi

mysql - 说明在JOIN语句中选择哪个表 "FROM"

转载 作者:可可西里 更新时间:2023-11-01 06:40:28 24 4
gpt4 key购买 nike

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

例如:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

最佳答案

INNER JOIN 中的顺序无关紧要。

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

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

关于mysql - 说明在JOIN语句中选择哪个表 "FROM",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26184633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com