如何连接两个表mysql?

Posted

技术标签:

【中文标题】如何连接两个表mysql?【英文标题】:How to join two tables mysql? 【发布时间】:2011-04-01 23:10:51 【问题描述】:

我有两张桌子:

服务

身份证 客户 服务

客户

身份证 姓名 电子邮件

如何列出表服务并将客户表的客户名称汇总在一起?表中的字段客户服务有客户表中客户的id,

感谢您现在的帮助

【问题讨论】:

请注意,有几种不同类型的连接,它们略有不同。答案已经提到JOINLEFT JOININNER JOIN;还有LEFT OUTER JOINRIGHT OUTER JOIN 可能还有一些我不知道的。您可能可以用谷歌搜索这些名称以找出它们之间的区别。 @Timwi: LEFT JOIN 和 LEFT OUTER JOIN 是一样的——你不需要在语法中指定 OUTER。这是good link showcasing joins 上面的“展示连接”链接对于我们这些喜欢视觉表示的人来说非常棒。各种 JOIN 显示为维恩图。非常好。让它变得简单。 【参考方案1】:
SELECT * FROM table1 LEFT JOIN table2 on table1.id = table2.id

【讨论】:

【参考方案2】:
SELECT ...
FROM services AS s
JOIN clients AS c
  ON s.client = c.id
WHERE ...

【讨论】:

【参考方案3】:
SELECT ...
FROM services AS s
INNER JOIN clients AS c
  ON s.client=c.id

【讨论】:

【参考方案4】:

试试这个,

SELECT * from services as s INNER JOIN clients as c on s.id=c.id 

【讨论】:

以上是关于如何连接两个表mysql?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL - 如何创建一个新表,该表是两个现有表的主键的连接

如何在使用两个内部连接并将表设置为连接时在 MySQL 中使用更新语句?

如何在 MySQL 中的两个表之间进行两次连接,以使它们相互链接?

如何连接来自两个不同数据库(ms.access 和 mysql)的三个表?

在 MySQL 中,如何编写 SQL 来连接两个表而不是一个子查询?

如何使用可为空的列连接 MySQL 表?