如何比较mysql中三个表的值

如何比较mysql中三个表的值,mysql,Mysql,我有三个表,如下所示: Employee +---------------+-------------+--------+ | employee_name | street | city | +---------------+-------------+--------+ | abhishek | viman nagar | pune | | neha | lohegaon | pune | | prasahnt | viman

我有三个表,如下所示:

Employee
+---------------+-------------+--------+
| employee_name | street      | city   |
+---------------+-------------+--------+
| abhishek      | viman nagar | pune   |
| neha          | lohegaon    | pune   |
| prasahnt      | viman nagar | pune   |
| rahul         | viman nagar | pune   |
| rahul singh   | lohegaon    | mumbai |
+---------------+-------------+--------+

Works
+---------------+------------------+--------+
| employee_name | company_name     | salary |
+---------------+------------------+--------+
| prasahnt      | First Bank Corp  |  90000 |
| rahul         | First Bank Corp  |  85000 |
| abhishek      | First Bank Corp  |  95000 |
| rahul singh   | Second Bank Corp |  45000 |
| neha          | Second Bank Corp |  65000 |
+---------------+------------------+--------+

Company
+------------------+--------+
| company_name     | city   |
+------------------+--------+
| First Bank Corp  | pune   |
| Second Bank Corp | mumbai |
+------------------+--------+

我想得到所有与他们工作的公司所在城市相同的
员工姓名。我怎样才能做到这一点。

应该能够通过
JOIN
WHERE
来做到这一点,如下所示:

SELECT DISTINCT e.employee_name
  FROM employee e,
       works w
       company c
 WHERE e.employee_name = w.employee_name
  AND w.company_name = c.company_name
  AND e.city = c.city;
SELECT * 
FROM Employee e
JOIN Works w ON w.employee_name = e.employee_name
JOIN Company c ON c.company_name = w.company_name
WHERE c.city = e.city

非常感谢你。我尝试了同样的方法,但只使用了两个and语句。如果您对答案满意,您也可以进行upvote。您应该使用ANSI JOIN语法。正因为如此,我对另一个答案投了赞成票。