SQL-92 使用点运算符进行选择



在它被标记为重复项之前,我不是在问我是否必须完全指定它,我就是为什么指定它并不重要。希望能解决这个问题。现在进入问题。

我是SQL的新手,所以我不确定是否有一些技术术语。

假设我有一个包含表格的数据库:订单和客户。

订单

具有以下类别:订单 ID、客户 ID 和订单日期

客户

具有类别:客户 ID、客户姓名、联系人姓名和国家/地区

然后我有一个SQL查询:

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

所以我选择了Orders.OrderIDCustomers.CustomerNameOrders.OrderDate FROM Orders表。如果它来自"订单"表,为什么要在 select 中指定OrderIDOrderDate之前的Orders.这是一个来自网站的示例,并没有解释这一点。我不确定它是否与 join 有关(在示例中(,所以这就是为什么我也把它放在那里和标签中。

-谢谢

有时在两个表中都可以找到列名,并且 DBMS 会抛出该列不明确的错误。 通常,最好显式声明您希望项目来自哪个表。

使用别名通常使代码更易于读写:

SELECT ord.OrderID, cus.CustomerName, ord.OrderDate
FROM Orders ord
INNER JOIN Customers cus ON ord.CustomerID=cus.CustomerID;
这些表名

非常短,但是当表名变得更长、更复杂时,您可以看到别名是多么有用。

显式声明表的一个好处是,您可以一目了然地知道数据来自哪个表。 一旦数据来自多个源(无论是否通过联接(,如果不在 select 语句中显示表,则可能很难准确判断字段来自哪个表。

最新更新