使用 S_ID 作为连接条件的 SQL 查询中如何匹配行并确定输出?

问题描述 投票:0回答:1

我正在处理涉及两个表(Stationery 和 Distributor)的 SQL 查询。我想了解如何使用 S_ID 列匹配行以及如何生成输出。具体来说,我对为什么排除某些行(例如 S_ID = GP02 的 Vidhya Stationary 的行)以及数据库如何逐步处理连接条件感到困惑。另外,我想知道如果不使用 ORDER BY 子句,输出顺序是如何确定的。 (问题 3)

我编写了以下查询来组合 Stationery 和 Distributor 表中的数据:

sql 复制代码 选择 S.StationaryName、S.Company、D.Distributor、D.City 来自文具 S,经销商 D 其中 S.S_ID = D.S_ID; 我预计输出将包括所有经销商及其配套的文具物品。但是,输出中缺少 Vidhya Stationary 行(S_ID = GP02)。我相信这是因为 GP02 不存在于 Stationery 表中。我想确认我的理解是否正确以及数据库如何处理查询。”

表 MYSQL

sql mysql database join inner-join
1个回答
0
投票

您是正确的,Vidhya Stationary 的行不会出现在输出中(如果使用 INNER JOIN),因为 S_ID=GP02 在 Stationery 表中不作为 S_ID 存在。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.