You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This SQL exercise demonstrates the creation of tables, insertion of data, foreign key usage, and various SELECT queries using aggregate functions and joins in a sample Company database.
ALTERTABLE Employee ADD COLUMN Salary INT(5) AFTER Job;
UPDATE Employee SET Salary = CASE EmpId
WHEN 111 THEN 25000
WHEN 112 THEN 75000
WHEN 113 THEN 60000
WHEN 114 THEN 65000
WHEN 115 THEN 28000
WHEN 116 THEN 35000
WHEN 117 THEN 32000
WHEN 118 THEN 55000
END;
Queries and Outputs
1. Employees whose names start with 'S'
SELECT EmpName FROM Employee WHERE EmpName LIKE'S%';
EmpName
Smith
Stare
2. Count of Managers
SELECTCOUNT(*) AS ManagerCounter FROM Employee WHERE Job ='Manager';
ManagerCounter
2
3. Employees with salary > 30000
SELECT EmpId, Job FROM Employee WHERE Salary >30000;
EmpId
Job
112
Engineer
113
Manager
114
Engineer
116
Technician
117
Technician
118
Manager
4. Departments located in Jaffna
SELECTDepartment.DNameFROM Department
JOIN Employee ONDepartment.DeptId=Employee.DeptIdWHEREDepartment.Location='Jaffna';
DName
Production
Production
5. Employees who work as Technicians
SELECTemployee.EmpId, employee.EmpName, employee.DeptId, department.DNameFROM employee
JOIN department ONemployee.DeptId=department.DeptIdWHEREemployee.Job='Technician';
EmpId
EmpName
DeptId
DName
116
Cummins
2312
Mechanical
117
Zampa
1654
Supply
6. Departments with max salary > 50000
SELECTDepartment.DNameFROM Department
JOIN Employee ONDepartment.DeptId=Employee.DeptIdGROUP BYdepartment.DNameHAVINGMAX(Salary) >50000;
DName
Finance
Mechanical
Production
Supply
7. Average salary per department (Descending)
SELECTdepartment.DName, AVG(employee.Salary) AS AvgSalary
FROM employee
JOIN department ONemployee.DeptId=department.DeptIdGROUP BYdepartment.DNameORDER BY AvgSalary DESC;