在MySql中将表绑在一起

时间:2009-05-08 23:22:10

标签: mysql database

我有一个表包含公司信息(即姓名,地址,业务描述......)和另一个包含用户信息的表(即名字,姓氏,电子邮件和密码)。如何将公司表绑定到用户表,以便在用户登录时,公司与用户正确关联?我可以在公司表中使用userid列吗?

3 个答案:

答案 0 :(得分:4)

假设有几个用户可能属于一家公司,但只有一家公司可能与用户关联,那么用户表中的公司ID最有意义。

要将两个表连接在一起,您希望在所有情况下都匹配,请使用INNER JOIN:

SELECT u.*, c.companyname FROM users u 
INNER JOIN companies c ON u.companyid = c.companyid

显然,上面是模拟查询,需要定制以匹配您的架构/要求。

答案 1 :(得分:2)

您正在寻找joins

公司与用户之间存在一对多的关系,因此您需要在user表中创建一个名为company_id的列,然后像这样查询以获取用户及其公司:

SELECT * FROM users INNER JOIN companies ON users.company_id = companies.id

答案 2 :(得分:0)

不,你可能会有一对多的关系。因此,一家公司包含许多员工。但是,一名员工只属于一家公司(为了简单起见)。

这需要用户表中的外键指向公司的ID。