ON select first_name, last_name, department_name from employees join departments on employees.department_id = departments.department_id order by last_name, first_name; WHERE select first_name, last_name, department_name from employees, departments where employees.department_id = departments.department_id order by last_name, first_name; USING select first_name, last_name, department_name from employees join departments using (department_id) order by last_name, first_name; LEFT/RIGHT/OUTER select first_name, last_name, department_name from employees, departments where employees.department_id = departments.department_id(+) order by department_name desc, last_name, first_name; select first_name, last_name, department_name from employees full outer join departments on employees.department_id = departments.department_id order by department_name desc, last_name, first_name; SELECT EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, DEPARTMENTS.DEPARTMENT_NAME, LOCATIONS.CITY FROM HR.EMPLOYEES left outer join HR.DEPARTMENTS on DEPARTMENTS.DEPARTMENT_ID = EMPLOYEES.DEPARTMENT_ID left outer join HR.LOCATIONS on LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID order by department_name desc SELF JOIN select e.first_name, e.last_name, e.employee_id, m.first_name, m.last_name, m.employee_id from employees e, employees m where e.employee_id(+) = m.manager_id order by m.employee_id SELECT EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, MANAGER.FIRST_NAME "MANAGER FIRST_NAME", MANAGER.LAST_NAME "MANAGER LAST_NAME" FROM HR.EMPLOYEES right join EMPLOYEES MANAGER on ( (EMPLOYEES.MANAGER_ID = MANAGER.EMPLOYEE_ID) ) where employees.employee_id is null (89 rows)
Join über mehrere Tabellen hinweg
SELECT first_name, last_name, coalesce(department_name, '[kein department]'), city, country_name, region_name FROM hr.employees left JOIN hr.departments ON employees.department_id = departments.department_id left join hr.locations on departments.location_id = locations.location_id left join hr.countries on locations.country_id = countries.country_id left join hr.regions on countries.region_id = regions.region_id where region_name = 'Europe'
SELECT first_name, last_name, e.department_id aktuelle_department_id, jh.department_id jh_department_id, e.job_id aktuelle_job_id, jh.job_id jh_job_id, start_date, end_date FROM employees e left JOIN job_history jh ON e.employee_id = jh.employee_id ORDER BY coalesce(e.employee_id, jh.employee_id)