我正在使用此网站http://www.sqlishard.com/Exercise
练习基本SQL以下是问题:
S5.0 - INNER JOIN
现在我们可以从单个表中提取数据并限定列 名字,让我们更进一步。 JOIN语句允许我们 使用条件来“连接”几个表的行 他们如何相互匹配。 SELECT [columns] FROM FirstTable INNER JOT SecondTable ON FirstTable.Id = SecondTable.FirstTableId
尝试使用INNER JOIN语法从中选择所有列 客户和订单表,其中订单中的CustomerId列 匹配Customers中的Id列。由于两个表都有Id 在列中,您需要在WHERE子句中限定Customers ID 使用表名或表别名。
以下是我的回答:
SELECT *
FROM Customers AS c
INNER JOIN Orders AS o ON c.ID = o.ID
WHERE o.CustomerID = c.ID
该网站说我错了?谁能解释我哪里出错?
编辑:我现在看到我不需要WHERE子句,但问题是......
您需要使用WHERE子句限定Customers ID 表名或表别名。
因此我的困惑。非常感谢。
答案 0 :(得分:3)
尝试这种方式:
SELECT c.ID,o.ID
FROM Customers AS c
INNER JOIN Orders AS o ON o.CustomerID = c.ID
或使用where子句
SELECT *
FROM Customers AS c, Orders AS o
where o.CustomerID = c.ID
答案 1 :(得分:3)
如果使用JOIN .. ON,则不需要where子句