loading the employees dataset

library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
employees<-data.frame(emp_id=c(1,2,3,4,5),emp_name=c("Alexa","Barath","Chandran","Divya","Elango"),gender=c("F","M","M","F","M"),dept_id=c(1,1,2,2,3))
employees
  emp_id emp_name gender dept_id
1      1    Alexa      F       1
2      2   Barath      M       1
3      3 Chandran      M       2
4      4    Divya      F       2
5      5   Elango      M       3
departments<-data.frame(dept_id=c(1,2,3,4),dept_name=c("HR","Finance","IT","Marketing"))
departments
  dept_id dept_name
1       1        HR
2       2   Finance
3       3        IT
4       4 Marketing
projects<-data.frame(proj_id=c(1,2,3,4),proj_name=c("ProjectA","ProjectB","ProjectC","ProjectD"),emp_id=c(1,2,2,NA))
projects
  proj_id proj_name emp_id
1       1  ProjectA      1
2       2  ProjectB      2
3       3  ProjectC      2
4       4  ProjectD     NA

What are the employees who work currently assigned to projects?

d1<-inner_join(employees,projects,by="emp_id")
d1
  emp_id emp_name gender dept_id proj_id proj_name
1      1    Alexa      F       1       1  ProjectA
2      2   Barath      M       1       2  ProjectB
3      2   Barath      M       1       3  ProjectC

What are all employees and their assigned projects,including those who are not assigned to any project?

d2<-left_join(employees,projects,by="emp_id")
d2
  emp_id emp_name gender dept_id proj_id proj_name
1      1    Alexa      F       1       1  ProjectA
2      2   Barath      M       1       2  ProjectB
3      2   Barath      M       1       3  ProjectC
4      3 Chandran      M       2      NA      <NA>
5      4    Divya      F       2      NA      <NA>
6      5   Elango      M       3      NA      <NA>

What are all projects and the employees assigned to them including project that assigned employee?

d3<-left_join(projects,employees,by="emp_id")
d3
  proj_id proj_name emp_id emp_name gender dept_id
1       1  ProjectA      1    Alexa      F       1
2       2  ProjectB      2   Barath      M       1
3       3  ProjectC      2   Barath      M       1
4       4  ProjectD     NA     <NA>   <NA>      NA

What is the complete list of employees and project including those without assignments on either side?

d4<-full_join(employees,projects,by="emp_id")
d4
  emp_id emp_name gender dept_id proj_id proj_name
1      1    Alexa      F       1       1  ProjectA
2      2   Barath      M       1       2  ProjectB
3      2   Barath      M       1       3  ProjectC
4      3 Chandran      M       2      NA      <NA>
5      4    Divya      F       2      NA      <NA>
6      5   Elango      M       3      NA      <NA>
7     NA     <NA>   <NA>      NA       4  ProjectD

Which employees are assignrd to at least one project?List them without repeating project details.

d5<-semi_join(employees,projects,by="emp_id")
d5
  emp_id emp_name gender dept_id
1      1    Alexa      F       1
2      2   Barath      M       1

Which employees are not assigned to any project?List those employees.

d6<-anti_join(employees,projects,by="emp_id")
d6
  emp_id emp_name gender dept_id
1      3 Chandran      M       2
2      4    Divya      F       2
3      5   Elango      M       3