title: How to simplify nested select in where clause?
body: <p>I have 4 tables <code>EMPLOYEE</code>, <code>COMPANY</code>, <code>WORKS</code> and <code>MANAGES</code>. The tables are defined as follows-</p>
  
  <pre><code>CREATE TABLE EMPLOYEE
  (
      EMPLOYEE_NAME VARCHAR2(50) NOT NULL PRIMARY KEY,
      STREET VARCHAR2(50) NOT NULL,
      CITY VARCHAR2(30) NOT NULL
  );
  
  CREATE TABLE COMPANY
  (
      COMPANY_NAME VARCHAR2(100) NOT NULL PRIMARY KEY,
      CITY VARCHAR2(50) NOT NULL
  );
  
  CREATE TABLE WORKS
  (
      EMPLOYEE_NAME VARCHAR2(50) NOT NULL PRIMARY KEY REFERENCES EMPLOYEE(EMPLOYEE_NAME),
      COMPANY_NAME VARCHAR2(100) NOT NULL REFERENCES COMPANY(COMPANY_NAME),
      SALARY NUMBER(12,2) NOT NULL
  );
  
  CREATE TABLE MANAGES
  (
      EMPLOYEE_NAME VARCHAR2(50) NOT NULL PRIMARY KEY REFERENCES EMPLOYEE(EMPLOYEE_NAME),
      MANAGER_NAME VARCHAR2(50) NOT NULL
  );
  </code></pre>
  
  <p>I need to find all the employees who live in the same city as the company for which they work. So far I have done this.</p>
  
  <pre><code>SELECT EMPLOYEE_NAME AS Names
  FROM EMPLOYEE
  WHERE CITY = (
      SELECT CITY
      FROM COMPANY
      WHERE COMPANY_NAME = (
          SELECT COMPANY_NAME
          FROM WORKS
          WHERE WORKS.EMPLOYEE_NAME = EMPLOYEE.EMPLOYEE_NAME
      )
  );
  </code></pre>
  
  <p>It's working fine. But I want to know is there any simpler way to do this query?</p>