Self Join: is when you join a table to itself For example: if you want to display group of employees and their manager Employees Manager Neena Steven lex Steven //Managers and employees are all displayed together in the same table //a condition should be satisfied Employee_id = Manager_id //Traditional select emp.first_name "Employee Name", Mng.first_name "Manager Name" from employees emp, employees Mng where emp.manager_id = Mng.employee_id //ANSI Syntax select emp.first_name "Employee name", Mng.First_name "Manager name" from employees emp join employees Mng on emp.manager_id = mng.employee_id Rules: - self join can be performed with attributes that are not primary key or foregin key - you cant use the USING clause while using the ANSI synatx, because in this case you're using two different attributes, so it's better to use the ON clause One more example: Muliple join between different tables employees => departments => locations => countries select emp.first_name, dept.department_name, L.city, C.country_name, R.region_name from employees emp join departments dept using (department_id) join locations L using (location_id) join countries C using (country_id) join regions R using (region_id) ---------------------------------------------