首页 > 解决方案 > 具有来自不同表的字段的人员列表

问题描述

我是关系数据库的新手。默认情况下,我的客户要求提供具有不同字段的客户列表。但是在架构中就像 8 个不同的表,我需要为每个表创建一个包含字段的列表。

我正在考虑实现这样的查询。

SELECT name, surname, country_of_birth, nationality, email 
from clients,
     client_documents as documents,
     client_addresses as address

有重复的字段,但我不知道如何使用uuid_client它,因为它是每个表中的外键。

标签: mysqlsqlpostgresql

解决方案


解决它的一种方法是使用JOIN. 例如 :

SELECT clients.name, clients.surname, address.country_of_birth, clients.nationality, clients.email 
FROM clients clients 
LEFT JOIN client_documents AS documents on clients.id = documents.client_id
LEFT JOIN client_addresses AS address on clients.id = address.client_id

我建议在这种情况下使用 LEFT JOIN,因为如果我们使用 (INNER) JOIN,您将看不到客户没有地址或文档信息。所以我们使用了左连接,但正如我所说,选择取决于你的场景。


推荐阅读