SQL-92 用点运算符选择
SQL-92 Selecting with the dot operator
在它被标记为重复之前,我不是问如果我必须完全指定它,我是为什么指定它无关紧要。希望能解决这个问题。现在回答问题。
我是 SQL 的新手,所以我不确定是否有一些技术术语。
假设我有一个包含 table 的数据库:订单和客户。
订单有类别:OrderID、CustomerID 和 OrderDate
客户有类别:CustomerID、CustomerName、ContactName 和 Country
然后我有一个 SQL 查询:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
所以我 selecting Orders.OrderID
、Customers.CustomerName
和 Orders.OrderDate
FROM
Orders
table。如果是来自订单table,为什么在select中的OrderID
和OrderDate
之前指定Orders.
?这个是一个网站的例子,并没有解释这个。我不确定它是否与连接(在示例中)有关,所以这就是为什么我也将它放在标签中的原因。
-谢谢
有时在两个 table 中都可以找到列名,您的 DBMS 将抛出一个错误,指出该列不明确。明确声明您希望商品来自哪个 table 通常是个好主意。
使用别名通常会使代码更易于阅读和编写:
SELECT ord.OrderID, cus.CustomerName, ord.OrderDate
FROM Orders ord
INNER JOIN Customers cus ON ord.CustomerID=cus.CustomerID;
这些 table 名称很短,但是当 table 名称变得更长更复杂时,您可以看到别名是多么有用。
显式声明 table 的一个好处是您一眼就能看出 table 数据来自哪里。一旦您拥有来自多个来源的数据,无论是否通过联接,如果您不在 [=19= 中显示 table,就很难准确判断某个字段来自哪个 table ] 语句。
在它被标记为重复之前,我不是问如果我必须完全指定它,我是为什么指定它无关紧要。希望能解决这个问题。现在回答问题。
我是 SQL 的新手,所以我不确定是否有一些技术术语。
假设我有一个包含 table 的数据库:订单和客户。
订单有类别:OrderID、CustomerID 和 OrderDate
客户有类别:CustomerID、CustomerName、ContactName 和 Country
然后我有一个 SQL 查询:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
所以我 selecting Orders.OrderID
、Customers.CustomerName
和 Orders.OrderDate
FROM
Orders
table。如果是来自订单table,为什么在select中的OrderID
和OrderDate
之前指定Orders.
?这个是一个网站的例子,并没有解释这个。我不确定它是否与连接(在示例中)有关,所以这就是为什么我也将它放在标签中的原因。
-谢谢
有时在两个 table 中都可以找到列名,您的 DBMS 将抛出一个错误,指出该列不明确。明确声明您希望商品来自哪个 table 通常是个好主意。
使用别名通常会使代码更易于阅读和编写:
SELECT ord.OrderID, cus.CustomerName, ord.OrderDate
FROM Orders ord
INNER JOIN Customers cus ON ord.CustomerID=cus.CustomerID;
这些 table 名称很短,但是当 table 名称变得更长更复杂时,您可以看到别名是多么有用。
显式声明 table 的一个好处是您一眼就能看出 table 数据来自哪里。一旦您拥有来自多个来源的数据,无论是否通过联接,如果您不在 [=19= 中显示 table,就很难准确判断某个字段来自哪个 table ] 语句。