连接两个表,但需要一个匹配的列,而不是单独显示sql server 2008
嗨,我想显示两个表的联接结果,但不想单独显示匹配的列。我想要一个而不是两个。所以,请告诉我我应该使用什么查询。我使用的是SQL Server 2008,我的查询如下:连接两个表,但需要一个匹配的列,而不是单独显示sql server 2008,sql,sql-server,tsql,Sql,Sql Server,Tsql,嗨,我想显示两个表的联接结果,但不想单独显示匹配的列。我想要一个而不是两个。所以,请告诉我我应该使用什么查询。我使用的是SQL Server 2008,我的查询如下: select * from Customer_Order, optRelation where Customer_Order.orderNumber = optRelation.orderNumber AND optRelation.orderNumber = 21 切勿在生产代码中使用SELECT*。
select *
from Customer_Order, optRelation
where Customer_Order.orderNumber = optRelation.orderNumber AND
optRelation.orderNumber = 21
切勿在生产代码中使用
SELECT*
。指定所需的列。您只需指定所需的字段,而无需使用选择*
。事实上,由于各种原因,使用SELECT*
被认为是不好的做法:
SELECT customer_Order.OrderNumber,
customer_Order.SomeFieldA,
customer_Order.SomeFieldB,
customer_Order.SomeFieldB,
optRelation.SomeOtherField1,
optRelation.SomeOtherField2,
optRelation.SomeOtherField3
FROM customer_Order, optRelation
WHERE customer_Order.OrderNumber = optRelation.OrderNumber AND
optRelation.OrderNumber = 21
您也可以(但通常也不应该)选择一个表的所有字段,然后显式选择第二个表的字段:
SELECT customer_Order.*,
optRelation.SomeOtherField1,
optRelation.SomeOtherField2,
optRelation.SomeOtherField3
FROM customer_Order, optRelation
WHERE customer_Order.OrderNumber = optRelation.OrderNumber AND
optRelation.OrderNumber = 21
这不应该是来自customer\u Order.OrderNumber=optRelation.OrderNumber上的customer\u Order内部连接optRelation吗?@JBrooks:SQL Server也会将上述内容视为内部连接。