gpt4 book ai didi

c# - SQL 从两个表中选择数据(一行 -> 多行)

转载 作者:行者123 更新时间:2023-12-02 01:21:07 24 4
gpt4 key购买 nike

假设我有两个 SQL 表:Customers 和 PhoneNumbers。

假设 Customers 有以下列:customerId(主键)、fName、lName。

假设 PhoneNumbers 具有以下列:phoneNumberId(主键)、phoneNumber、customerId(外键)。

到目前为止我的理解是,如果每个客户都有一个电话号码,我可以使用以下 SQL 来选择每个客户的 fName、lName 和phoneNumber:

SELECT 
customer.fName, customer.lName, phone.phoneNumber
FROM
Customers customer
INNER JOIN phoneNumbers phone ON
customer.customerId = phone.customerId

如果一位客户可能有多个电话号码怎么办?如何获取客户列表以及每个客户的电话号码列表?

我驱动 SQL 的编程语言是 C#/.NET。

最佳答案

正如您所说,如果每个客户只有一个电话号码,您的查询就会起作用。

拥有多个电话号码的客户也将被返回,但对于每个不同的电话号码,客户记录都会重复。

您需要考虑的另一个条件是没有电话号码的客户。如果您对表进行 INNER JOIN,则这些客户将从结果集中排除。要包含此类客户,您需要使用 OUTER JOIN。

关于c# - SQL 从两个表中选择数据(一行 -> 多行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4399496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com