如何在mysql中基于类似的方式连接2个表

时间:2009-11-04 15:28:21

标签: sql mysql

我有2个表Employee和Company_Employee。

员工: ID,FirstName

Company_Employee: ID,Company_ID,Employee_ID

我想通过名字进行搜索。我在想我的查询看起来像:

   select FirstName, ID from Employee where FirstName LIKE '%John%' and ID in (select id from Company_Employee)

此查询不返回任何行。有谁知道我如何通过这两个表获得FirstName之类的行?

谢谢!

2 个答案:

答案 0 :(得分:4)

您的查询将company_employee.id与employee.id进行比较。它应该将employee.id与company_employee进行比较。 employee_id

您可以使用连接更清楚地重写查询:

select *
from employee e
join company_employee ce
    on e.id = ce.Employee_ID
where e.FirstName like '%John%'

答案 1 :(得分:0)

像这样的东西

SELECT
*
FROM
Employee e
INNER JOIN Company_Employee ce JOIN ON e.Id = ce.Id)
WHERE 
FirstName LIKE '%JOHN%'