SQL Exercise: Employees and managers name separated by a string

SQL employee Database: Exercise-19 with Solution

[An editor is available at the bottom of the page to write and execute the scripts.]

19. From the following table, write a SQL query to separate the names of employees and their managers by the string 'works for'.

Sample table: employees

Pictorial Presentation:

SQL exercises on employee Database: List the name of employees and their manager separated by the string 'works for'

Sample Solution:

SELECT e.emp_name || ' works for ' || m.emp_name
FROM employees e,
     employees m
WHERE e.manager_id = m.emp_id;

Sample Output:

 BLAZE works for KAYLING
 CLARE works for KAYLING
 JONAS works for KAYLING
 SCARLET works for JONAS
 FRANK works for JONAS
 ADELYN works for BLAZE
 WADE works for BLAZE
 MADDEN works for BLAZE
 TUCKER works for BLAZE
 JULIUS works for BLAZE
 MARKER works for CLARE
(13 rows)


The provided query in SQL that selects the names of all employees along with their corresponding manager's name by joining the 'employees' table to itself using the "manager_id" and "emp_id" columns.

The "||" operator concatenates the "emp_name" column of the employee with the string " works for " and the "emp_name" column of their manager.

The WHERE clause includes the employees who have a corresponding manager in the 'employees' table.

Practice Online

Sample Database: employee

employee database structure

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous SQL Exercise: List the employees who joined in the month January.
Next SQL Exercise: List all the employees whose designation is CLERK.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.

SQL: Tips of the Day

MySQL export schema without data

mysqldump -h yourhostnameorIP -u root -p --no-data dbname > schema.sql

Ref: https://bit.ly/3xzB9dS


We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook