我有三张表,如下所示:
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 |
+------------------+--------+
我想让所有与他们所在公司拥有相同城市的employee_name
。我该怎么做。
答案 0 :(得分:1)
应该可以使用JOIN
和WHERE
执行此操作,如下所示:
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
答案 1 :(得分:0)
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;