如何使用特定列连接MySQL中的两个表?

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

enter image description here

我想编写一个查询来获取按名字排序的客户名称和产品名称。

我的 MySQL 数据库中有两个表,我们称它们为

customer details table
product detail table
。每个表都有几列,但我只想根据特定列连接它们。例如,假设我想将
customer details table.first_name
product detal table.product_name
一起加入。

有人可以向我提供正确的 MySQL 查询语法来实现此目的吗?另外,如果以这种方式连接表时我应该注意任何性能考虑因素或最佳实践,我将不胜感激。

预先感谢您的帮助!

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

作为您的图像,它在两个表中都有“customer_id”,我们可以使用它来加入。 或者 您可以使用以下语法连接任何列名称。

但是使用“字符串”加入可能会导致以下问题

  • 性能开销
  • 缺乏灵活性
  • 索引使用困难
  • 资源消耗

为了避免这些问题,一般建议使用“int”加入

选择
c.名字,
p.产品名称
从 客户详细信息 c
加入产品详细信息 p ON c.customer_id = p.customer_id
订购依据
c.名字;

w3schools 加入 MySQL

© www.soinside.com 2019 - 2024. All rights reserved.