SQL Exercise: List employees along with details of their departments
[An editor is available at the bottom of the page to write and execute the scripts.]
87. From the following table, write a SQL query to list the details of the employees along with the details of their departments.
Sample table: employees
Sample table: department
Sample Solution:
SELECT *
FROM employees e,
department d
WHERE e.dep_id= d.dep_id;
Sample Output:
emp_id | emp_name | job_name | manager_id | hire_date | salary | commission | dep_id | dep_id | dep_name | dep_location --------+----------+-----------+------------+------------+---------+------------+--------+--------+-----------+-------------- 68319 | KAYLING | PRESIDENT | | 1991-11-18 | 6000.00 | | 1001 | 1001 | FINANCE | SYDNEY 66928 | BLAZE | MANAGER | 68319 | 1991-05-01 | 2750.00 | | 3001 | 3001 | MARKETING | PERTH 67832 | CLARE | MANAGER | 68319 | 1991-06-09 | 2550.00 | | 1001 | 1001 | FINANCE | SYDNEY 65646 | JONAS | MANAGER | 68319 | 1991-04-02 | 2957.00 | | 2001 | 2001 | AUDIT | MELBOURNE 67858 | SCARLET | ANALYST | 65646 | 1997-04-19 | 3100.00 | | 2001 | 2001 | AUDIT | MELBOURNE 69062 | FRANK | ANALYST | 65646 | 1991-12-03 | 3100.00 | | 2001 | 2001 | AUDIT | MELBOURNE 63679 | SANDRINE | CLERK | 69062 | 1990-12-18 | 900.00 | | 2001 | 2001 | AUDIT | MELBOURNE 64989 | ADELYN | SALESMAN | 66928 | 1991-02-20 | 1700.00 | 400.00 | 3001 | 3001 | MARKETING | PERTH 65271 | WADE | SALESMAN | 66928 | 1991-02-22 | 1350.00 | 600.00 | 3001 | 3001 | MARKETING | PERTH 66564 | MADDEN | SALESMAN | 66928 | 1991-09-28 | 1350.00 | 1500.00 | 3001 | 3001 | MARKETING | PERTH 68454 | TUCKER | SALESMAN | 66928 | 1991-09-08 | 1600.00 | 0.00 | 3001 | 3001 | MARKETING | PERTH 68736 | ADNRES | CLERK | 67858 | 1997-05-23 | 1200.00 | | 2001 | 2001 | AUDIT | MELBOURNE 69000 | JULIUS | CLERK | 66928 | 1991-12-03 | 1050.00 | | 3001 | 3001 | MARKETING | PERTH 69324 | MARKER | CLERK | 67832 | 1992-01-23 | 1400.00 | | 1001 | 1001 | FINANCE | SYDNEY (14 rows)
Explanation:
The given query in SQL that selects all columns from the tables 'employees' and 'department' using a join. The query returns all rows where the dep_id column in the employees table matches the dep_id column in the department table.
This could be define as an inner join, which returns only the rows where there is a match in both tables based on the specified condition.
Practice Online
Sample Database: employee
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous SQL Exercise: List employees working for department 1001 or 2001.
Next SQL Exercise: List the employees who are senior to their own MANAGERS.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics