mysql - 具有来自不同表的字段的人员列表
问题描述
我是关系数据库的新手。默认情况下,我的客户要求提供具有不同字段的客户列表。但是在架构中就像 8 个不同的表,我需要为每个表创建一个包含字段的列表。
我正在考虑实现这样的查询。
SELECT name, surname, country_of_birth, nationality, email
from clients,
client_documents as documents,
client_addresses as address
有重复的字段,但我不知道如何使用uuid_client
它,因为它是每个表中的外键。
解决方案
解决它的一种方法是使用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,您将看不到客户没有地址或文档信息。所以我们使用了左连接,但正如我所说,选择取决于你的场景。
推荐阅读
- chart.js - 在`onClick`期间替换Chart.js数据导致_meta错误
- java - spark SAVEASTEXTfile 需要很多时间 - 1.6.3
- android - 应用程序未通过 WiFi 连接加载数据
- javascript - 无法在网站上编辑表格中的数据库条目
- reactjs - 错误:PostCSS 插件 autoprefixer 需要 PostCSS 8。更新 PostCSS 或降级此插件
- swiftui - 如何在 IOS14 中使用多个 fullScreenCover
- python - 我想重建 django 视图
- go - 用 Go 编写的内核如何启动?
- r - 我想从现有的 csv 创建一个新的 csv,它包含多个相同的列但没有排序的数据
- localization - OctoberCMS - Rainlab 翻译