如何在MySQL中连接两个表?

27

我有两个表:

服务表

  • id
  • client
  • service

客户表

  • id
  • name
  • email

如何列出服务表并将客户名与客户表一起显示?服务表中的客户字段具有客户表中的客户ID。

感谢您的帮助。


1
请注意,有几种不同类型的连接,它们略有不同。答案已经提到了 JOINLEFT JOININNER JOIN;还有 LEFT OUTER JOINRIGHT OUTER JOIN,可能还有其他我不知道的类型。你可以通过谷歌这些名称来了解它们之间的区别。 - Timwi
4
LEFT JOIN和LEFT OUTER JOIN是相同的 - 在语法中不需要指定OUTER。这是一个展示连接的好链接。 - OMG Ponies
1
上面展示连接的链接非常适合那些喜欢视觉表现的人。各种JOIN以Venn图形式展示。真的很棒。让它变得简单易懂。 - Mike_Laird
4个回答

39
SELECT * FROM table1 LEFT JOIN table2 on table1.id = table2.id

18
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

0

试试这个,

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接