小编Bri*_*uke的帖子

尝试删除子查询并仅使用 WHERE 返回某些行时出现问题

我对 SQL 查询非常陌生。我正在为 Microsoft 70-461 学习并找到一个我认为可以简化的示例,但是我的版本返回了错误的结果,我想了解原因。

本学习指南显示了这个查询:

USE TSQL2012;
SELECT productid, productname, unitprice, P.supplierid
FROM Production.Products AS P
WHERE supplierid IN
    (SELECT supplier
     FROM Production.Suppliers
     WHERE country = N'Japan');
Run Code Online (Sandbox Code Playgroud)

正确返回 6 行,我的查询:

USE TSQL2012;
SELECT productid, productname, unitprice, P.supplierid
FROM Production.Products AS P, Production.Suppliers AS S
WHERE S.country = N'Japan':
Run Code Online (Sandbox Code Playgroud)

返回 231 行,production.products 表只包含 70 行开始,所以我不明白。有人可以告诉我我在俯瞰什么。先感谢您。

示例数据库“TSQL2012”可在此处下载。

sql-server

2
推荐指数
1
解决办法
53
查看次数

标签 统计

sql-server ×1