如何连接两个表mysql?
Posted
技术标签:
【中文标题】如何连接两个表mysql?【英文标题】:How to join two tables mysql? 【发布时间】:2011-04-01 23:10:51 【问题描述】:我有两张桌子:
服务
身份证 客户 服务和
客户
身份证 姓名 电子邮件如何列出表服务并将客户表的客户名称汇总在一起?表中的字段客户服务有客户表中客户的id,
感谢您现在的帮助
【问题讨论】:
请注意,有几种不同类型的连接,它们略有不同。答案已经提到JOIN
、LEFT JOIN
和INNER JOIN
;还有LEFT OUTER JOIN
和RIGHT 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)的三个表?