如何在没有INNER JOIN的情况下进行SQL查询?

问题描述 投票:-3回答:3

我对Northwind数据库需要做的一些查询有疑问。我正在使用SQL Server Management Studio。我已经完成了所有查询的工​​作,但是我的教授说他不希望我们使用JOIN关键字而且我没有这样做就麻烦了。我真的不知道怎么改写我所做的。

SELECT 
    Customers.ContactName, Orders.OrderID, Orders.OrderDate, 
    SUM(UnitPrice * (1 - Discount) * Quantity) AS TotalCost
FROM 
    (Customers 
INNER JOIN 
    Orders ON Customers.CustomerID = Orders.CustomerID) 
INNER JOIN 
    [Order Details] ON Orders.OrderID = [Order Details].OrderID
WHERE 
    ShipCountry = 'Spain'
GROUP BY 
    Customers.ContactName, Orders.OrderID, Orders.OrderDate;

任何帮助深表感谢。 :)

sql-server database
3个回答
0
投票

试试这个:

SELECT Customers.ContactName, Orders.OrderID, Orders.OrderDate, Sum(UnitPrice*
(1-Discount)*Quantity) AS TotalCost
FROM Customers, Orders , [Order Details]
where Customers.CustomerID = Orders.CustomerID
and Orders.OrderID = [Order Details].OrderID
and ShipCountry = 'Spain'
GROUP BY Customers.ContactName, Orders.OrderID, Orders.OrderDate;

0
投票

如果您不想使用Join,那么您也可以使用UNION连接两个表及其特定字段。你也可以看到解决方案

https://www.codeproject.com/Questions/766095/Join-two-table-without-common-field


0
投票

您可以使用join子句在不使用where关键字的情况下进行连接,请参阅第一个答案here,这将满足您教授的要求

© www.soinside.com 2019 - 2024. All rights reserved.