﻿ SQL: Display employees including their department

# SQL Exercise: Display employees including their department

## SQL JOINS: Exercise-26 with Solution

From the following tables write a SQL query to display all the data of employees including their department.

Sample table:emp_department

Sample table: emp_details

Sample Solution:

``````SELECT emp_idno, A.emp_fname AS "First Name", emp_lname AS "Last Name",
B.dpt_name AS "Department", emp_dept, dpt_code,  dpt_allotment
FROM emp_details A
INNER JOIN emp_department B
ON A.emp_dept = B.dpt_code;
``````

Output of the Query:

```emp_idno	First Name	Last Name	Department	emp_dept	dpt_code	dpt_allotment
631548		Alan		Snappy		RD		27		27		55000
839139		Maria		Foster		IT		57		57		65000
127323		Michale		Robbin		IT		57		57		65000
526689		Carlos		Snares		Finance		63		63		15000
843795		Enric		Dosio		IT		57		57		65000
328717		Jhon		Snares		Finance		63		63		15000
444527		Joseph		Dosni		HR		47		47		240000
659831		Zanifer		Emily		HR		47		47		240000
847674		Kuleswar	Sitaraman	IT		57		57		65000
748681		Henrey		Gabriel		HR		47		47		240000
555935		Alex		Manuel		IT		57		57		65000
539569		George		Mardy		RD		27		27		55000
733843		Mario		Saule		Finance		63		63		15000
```

Explanation:

The said SQL query is selecting the employee ID (emp_idno), first name (A.emp_fname) with an alias 'First Name', last name (emp_lname) with an alias 'Last Name', department name (B.dpt_name) with an alias 'Department', emp_dept and department code (dpt_code) and department allotment (dpt_allotment) by joining the emp_details table A and emp_department table B on the emp_dept column of the emp_details table and the dpt_code column of the emp_department table. The query is joining the two tables together and displaying the selected columns from both tables.

## Query Visualization:

Duration:

Rows:

Cost:

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

Previous SQL Exercise: Display ID and price of most expensive product.
Next SQL Exercise: Employee and sanction amount for their department.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## SQL: Tips of the Day

Grouped LIMIT in PostgreSQL: Show the first N rows for each group?

```db=# SELECT * FROM xxx;
id | section_id | name
----+------------+------
1 |          1 | A
2 |          1 | B
3 |          1 | C
4 |          1 | D
5 |          2 | E
6 |          2 | F
7 |          3 | G
8 |          2 | H
(8 rows)
```

I need the first 2 rows (ordered by name) for each section_id, i.e. a result similar to:

```id | section_id | name
----+------------+------
1 |          1 | A
2 |          1 | B
5 |          2 | E
6 |          2 | F
7 |          3 | G
(5 rows)
```

PostgreSQL v9.3 you can do a lateral join

```select distinct t_outer.section_id, t_top.id, t_top.name from t t_outer
join lateral (
select * from t t_inner
where t_inner.section_id = t_outer.section_id
order by t_inner.name
limit 2
) t_top on true
order by t_outer.section_id;
```

Database: PostgreSQL

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

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