使用SQL查找来自美国供应商的所有产品的平均价格

使用SQL查找来自美国供应商的所有产品的平均价格,sql,Sql,您好,这里是互联网,所以我正在进行一个SQL项目,我需要获得美国供应的产品的平均价格。我正在处理两个表,一个表名为products,另一个表名为SupplierID,它们通过SupplierID连接。我正在附加一个链接到我正在使用的DBA以及我使用的代码,以便您可以看到我的位置。 提前感谢您提供的任何帮助 我正在使用的DBA: 我的代码: 选择产品。价格,供应商。供应商ID 来自产品 左加入供应商 关于产品。供应商ID=供应商。供应商ID和国家='美国' 从您发布的查询中可以清楚地看出,您了解

您好,这里是互联网,所以我正在进行一个SQL项目,我需要获得美国供应的产品的平均价格。我正在处理两个表,一个表名为products,另一个表名为SupplierID,它们通过SupplierID连接。我正在附加一个链接到我正在使用的DBA以及我使用的代码,以便您可以看到我的位置。 提前感谢您提供的任何帮助

我正在使用的DBA:

我的代码: 选择产品。价格,供应商。供应商ID 来自产品 左加入供应商
关于产品。供应商ID=供应商。供应商ID和国家='美国'

从您发布的查询中可以清楚地看出,您了解需要加入
产品
供应商
表,以便确定每个产品的原产国

然而,您应该在这里做的一个更改是使用
内部联接
,而不是
左联接
。不同之处在于,
内部联接
只返回两个表中都存在的结果

从那里可以使用
AVG()
功能

SELECT AVG(Products.Price) AS AveragePrice
FROM Products
INNER JOIN Suppliers ON Suppliers.SupplierID = Products.SupplierID AND Suppliers.Country = 'USA';

我明白,非常感谢你提到的,我知道我必须加入这两个表,只是不清楚要使用哪一个连接,以及在它们加入后如何找到avg。再次感谢!!我的意思是,
左连接
会起作用,但会产生副作用,包括结果中没有供应商的任何产品。您不希望发生这种情况,因为如果没有供应商,您无法确定产品是否来自美国。一个
内部连接可以防止这种情况发生。