DataBase Assignment
DataBase Assignment
SQL QUERIES
Submitted by:
Saher Riaz 2023-CS-170
Supervised by:
Dr.Amjad Farooq
EmployeeNameVARCHAR(15),
JobNameVARCHAR(10),
ManagerID int,
HireDate Date,
Salary Decimal (10,2),
DepartmentID int);
-- Creating SalaryGrade Table:
DepartmentNameVARCHAR(20),
DepartmentLocationVARCHAR(15));
INSERTION OF VALUES
VALUES
(68319, 'KAYLING', 'PRESIDENT', null, '1991-11-18', 6000.00, null, 1001),
(63679, 'SANDRINE', 'CLERK', 69062, '1990-12-18', 900.00, null, 2001), (64989, 'ADELYN',
'SALESMAN', 66928, '1991-02-20', 1700.00,400.00,3001),
SQL QUERIES
-- QUERY 1
SELECT * FROM Employees;
-- QUERY 2
SELECT salary FROM Employees;
-- QUERY 3
SELECT DISTINCT JobName FROM Employees;
-- QUERY 4
SELECT EmployeeName, Salary * 1.15 AS IncreasedSalary FROM Employees;
-- QUERY 5
SELECT EmployeeName || ' & ' || JobName AS "Employee & Job" FROM Employees;
-- QUERY 6
SELECT EmployeeName || '(' || JobName || ')' AS Employee FROM Employees WHERE
EmployeeName = 'JONAS';
-- QUERY 7
SELECT EmployeeID, EmployeeName, Salary, TO_CHAR(HireDate, 'FMMonth DD, YYYY') AS
HireDate FROM Employees WHERE HireDate = '1991-02-22';
-- QUERY 8
SELECT LENGTH(REPLACE(EmloyeeName, ' ', '')) AS EmployeeName_length FROM
Employees;
-- QUERY 9
SELECT EmployeeID, Salary, Commission FROM Employees;
-- QUERY 10
SELECT DISTINCT DepartmentID, JobName FROM Employees;
-- QUERY 11
SELECT * FROM Employees WHERE DepartmentID != '2001';
-- QUERY 12
SELECT * FROM Employees WHERE HireDate< '1991-01-01';
-- QUERY 13
SELECT AVG(Salary) AS average_salary FROM Employees WHERE JobName = 'ANALYST';
-- QUERY 14
SELECT * FROM Employees WHERE EmpName = 'BLAZE';
-- QUERY 15
SELECT * FROM Employees WHERE Commission > salary;
-- QUERY 16
SELECT * FROM Employees WHERE Salary * 1.25 > 3000;
-- QUERY 17
SELECT EmployeeName FROM Employees WHERE LENGTH(EmployeeName) = 6;
-- QUERY 18
SELECT EmployeeName FROM Employees WHERE LENGTH(EmployeeNname) = 6;
-- QUERY 19
SELECT * FROM Employees WHERE EXTRACT(MONTH FROM HireDate) = 1;
-- QUERY 20
SELECT EmployeeName || ' works for ' || ManagerId AS Employee_and_Manager FROM
Employees;
-- QUERY 21
SELECT * FROM Employees WHERE JobName = 'CLERK';
-- QUERY 22
SELECT * FROM Employees WHERE EXTRACT(YEAR FROM CURRENT_DATE) -
EXTRACT(YEAR FROM HireDate) > 27;
-- QUERY 23
SELECT * FROM Employees WHERE Salary < 3500;
-- QUERY 24
SELECT EmployeeName, JobName, salary FROM Employees WHERE JobName = 'ANALYST';
-- QUERY 25
SELECT * FROM Employees WHERE EXTRACT(YEAR FROM HireDate) = 1991;
-- QUERY 26
SELECT EmployeeId, EmployeeName, HireDate, Salary FROM Employees WHERE HireDate<
'1991-04-01';
-- QUERY 27
SELECT EmployeeName, JobName FROM Employees WHERE ManagerID IS NULL;
-- QUERY 28
SELECT * FROM Employees WHERE HireDate = '1991-05-01';
-- QUERY 29
SELECT EmployeeID, EmployeeName, Salary, EXTRACT(YEAR FROM CURRENT_DATE) -
EXTRACT(YEAR FROM HireDate) AS experience FROM Employees WHERE ManagerID =
68319;
-- QUERY 30
SELECT EmployeeID, EmployeeName, Salary, EXTRACT(DAY FROM Salary) AS experience
FROM Employees WHERE Salary > 100;
-- QUERY 31
SELECT EmployeeName FROM Employees WHERE EXTRACT(YEAR FROM
CURRENT_DATE) - EXTRACT(YEAR FROM Hiredate) >= 8 AND HireDate< '2000-01-01';
-- QUERY 32
SELECT * FROM Employees WHERE MOD(Salary, 2) <> 0;
-- QUERY 33
SELECT * FROM Employees WHERE LENGTH(CAST(Salary AS TEXT)) = 3;
-- QUERY 34
SELECT * FROM Employees WHERE MONTH(HireDate) = 4;
-- QUERY 35
SELECT * FROM Employees WHERE DAY (HireDate) < 19;
-- QUERY 36
SELECT * FROM Employees WHERE JobName = 'SALESMAN' AND DATEDIFF(MONTH,
HireDate, GETDATE()) >= 10;
-- QUERY 37
SELECT * FROM Employees WHERE DepartmentID=3001 OR DepartmentID=1001 AND
Year(HireDate)=1991;
-- QUERY 38
SELECT * FROM Employees WHERE DepartmentID=2001 OR DepartmentID=1001;
-- QUERY 39
SELECT * FROM Employees WHERE DepartmentID=2001 and JobName = 'CLERK';
-- QUERY 40
SELECT EmployeeID, EmployeeName, Salary, JobName FROM Employees WHERE JobName =
'SALESMAN' AND DepartmentID = 3001 AND Commission <= Salary AND (Salary +
Commission) * 12 < 34000;
-- QUERY 41
SELECT * FROM Employees WHERE JobName = 'CLERK' or JobName = 'MANAGER';
-- QUERY 42
SELECT * FROM Employees WHERE MONTH(HireDate) <> 2;
-- QUERY 43
SELECT * FROM Employees WHERE Year(HireDate)=1991;
-- QUERY 44
SELECT * FROM Employees WHERE Year(HireDate)=1991 and Month(HireDate)=6;
-- QUERY 45
SELECT * FROM Employees WHERE Salary * 12 BETWEEN 24000 AND 50000;
-- QUERY 46
SELECT * FROM Employees WHERE (DAY(HireDate) = 1 AND MONTH(HireDate) = 5 AND
YEAR(HireDate) = 1991) OR (DAY(HireDate) = 20 AND MONTH(HireDate) = 2 AND
YEAR(HireDate) = 1991) OR (DAY(HireDate) = 3 AND MONTH(HireDate) = 12 AND
YEAR(HireDate) = 1991);
-- QUERY 47
SELECT * FROM Employees WHERE ManagerID= 63679 OR ManagerID= 68319 OR
ManagerID= 66564 OR ManagerID= 69000;
-- QUERY 48
SELECT * FROM Employees WHERE HireDate> '1991-06-30' AND HireDate< '1992-01-01';
-- QUERY 49
SELECT * FROM Employees WHERE YEAR(HireDate)>=1990 AND YEAR(HireDate)<=1999;
-- QUERY 50
SELECT * FROM Employees WHERE DepartmentID = 1001 or DepartmentID = 2001;
-- QUERY 51
SELECT * FROM Employees WHERE MONTH(HireDate) = 2 AND Salary BETWEEN 1001
AND 2000;
-- QUERY 52
SELECT * FROM Employees WHERE YEAR(HireDate) < 1991 OR YEAR(HireDate) > 1991;
-- QUERY 53
SELECT E.EmployeeID, E.EmployeeName, E.JobName, E.ManagerID, E.HireDate, E.Salary,
E.Commission, E.DepartmentID, D.DepartmentName FROM Employees E JOIN Department D
ON E.DepartmentID = D.DepartmentID;
-- QUERY 54
SELECT EmployeeName, JobName, Salary * 12 AS AnnualSalary, DepartmentID, Grade FROM
Employees E LEFT JOIN SalaryGrade S ON E.Salary BETWEEN S.MinSalary AND S.MaxSalary
WHERE Salary >= 60000 OR JobName != 'ANALYST';
-- QUERY 55
SELECT E.EmployeeName, E.JobName, E.ManagerID, E.Salary, M.EmployeeName AS
ManagerName, M.Salary AS ManagerSalary FROM Employees E JOIN Employees M ON
E.ManagerID = M.EmployeeID WHERE E.Salary>M.Salary;
-- QUERY 56
SELECT EmployeeName, DepartmentID, Salary, Commission FROM Employees WHERE Salary
BETWEEN 2000 AND 5000 AND DepartmentID IN (SELECT DepartmentID FROM Department
WHERE DepartmentLocation = 'PERTH');
-- QUERY 57
SELECT Grade, EmployeeName FROM Employees E JOIN SalaryGrade S ON E.Salary
BETWEEN S.MinSalary AND S.MaxSalary WHERE DepartmentID IN (1001, 3001) AND Grade
!= 4 AND HireDate< '1992-12-31';
-- QUERY 58
SELECT E.EmployeeID, E.EmployeeName, E.JobName, E.ManagerID, E.HireDate, E.Salary,
E.DepartmentID, M.EmployeeName AS ManagerName FROM Employees E JOIN Employees M
ON E.ManagerID = M.EmployeeID WHERE M.EmployeeName = 'JONAS';
-- QUERY 59
SELECT E.EmployeeName, MAX(E.Salary) AS MaxSalary FROM Employees E WHERE
E.EmployeeName = 'FRANK';
-- QUERY 60
SELECT * FROM Employees WHERE (JobName = 'MANAGER' OR JobName = 'ANALYST')
AND Salary BETWEEN 2000 AND 5000 AND Commission IS NULL;
-- QUERY 61
SELECT EmployeeID, EmployeeName, e.DepartmentID, Salary, DepartmentLocation FROM
Employees e JOIN Department d ON e.DepartmentID = d.DepartmentID WHERE
(DepartmentLocation = 'PERTH' OR DepartmentLocation = 'MELBOURNE') AND
DATEDIFF(MONTH, HireDate, GETDATE()) > 10;
-- QUERY 62
SELECT EmployeeID, EmployeeName, e.DepartmentID, Salary, DepartmentLocation FROM
Employees e JOIN Department d ON e.DepartmentID = d.DepartmentID WHERE
YEAR(HireDate) = 1991 AND (DepartmentLocation = 'SYDNEY' OR DepartmentLocation =
'MELBOURNE') AND Salary BETWEEN 2000 AND 5000;
-- QUERY 63
SELECT E.EmployeeID, E.EmployeeName, E.Salary, D.DepartmentID, D.DepartmentName,
D.DepartmentLocation, S.Grade FROM Employees E JOIN Department D ON E.DepartmentID =
D.DepartmentID JOIN SalaryGrade S ON E.Salary BETWEEN S.MinSalary AND S.MaxSalary
WHERE D.DepartmentName = 'MARKETING' AND (D.DepartmentLocation = 'MELBOURNE'
OR D.DepartmentLocation = 'PERTH') AND S.Grade IN (3, 4, 5) AND DATEDIFF(MONTH,
HireDate, GETDATE())>= 300;
-- QUERY 64
SELECT E.* FROM Employees E JOIN Employees M ON E.ManagerID = M.EmployeeID
WHERE E.HireDate>M.HireDate;
-- QUERY 65
SELECT EmployeeName FROM Employees WHERE HireDate> '1991-01-01' AND
(EmployeeName NOT IN ('MARKER', 'ADELYN') OR DepartmentID NOT IN (2001, 4001));
-- QUERY 66
SELECT * FROM Employees ORDER BY salary ASC;
-- QUERY 67
SELECT * FROM Employees_ ORDER BY DepartmentID ASC, JobName DESC;
-- QUERY 68
SELECT DISTINCT JobName FROM Employees ORDER BY JobName DESC;
-- QUERY 69
SELECT EmployeeID, EmployeeName, Salary AS Monthly_Salary, Salary / 30 AS Daily_Salary,
12 * Salary AS Annual_Salary FROM Employees ORDER BY Annual_Salary ASC;
-- QUERY 70
SELECT * FROM EmployeesWHERE JobName IN ('CLERK', 'ANALYST') ORDER BY
JobName DESC;
-- QUERY 71
SELECT d.DepartmentLocation FROM Employees e JOIN Department d ON e.DepartmentID = d.
DepartmentID WHERE e.EmployeeName = 'CLARE';
-- QUERY 72
SELECT * FROM Employees WHERE HireDate IN ('1991-05-01', '1991-12-03', '1990-01-19')
ORDER BY HireDate ASC;
-- QUERY 73
SELECT * FROM Employees WHERE Salary < 1000 ORDER BY Salary ASC;
-- QUERY 74
SELECT * FROM Employees ORDER BY Salary ASC;
-- QUERY 75
SELECT * FROM Employees ORDER BY JobName ASC, EmployeeID DESC;
-- QUERY 76
SELECT DISTINCT JobName FROM Employees WHERE DepartmentID IN (2001, 3001)
ORDER BY JobName DESC;
-- QUERY 77
SELECT * FROM Employees WHERE JobName NOT IN ('PRESIDENT', 'MANAGER') ORDER
BY Salary ASC;
-- QUERY 78
SELECT EmployeeID, EmployeeName, JobName, ManagerID, HireDate, Salary, Commission,
DepartmentID, Salary / 30 AS Daily_Salary, 12 * Salary AS Annual_Salary FROM Employees
WHERE 12 * Salary < 25000 ORDER BY Salary ASC;
-- QUERY 79
SELECT EmployeeID, EmployeeName, 12 * Salary AS Annual_Salary, Salary / 30 AS
Daily_Salary FROM Employees WHERE JobName = 'SALESMAN' ORDER BY Annual_Salary
ASC;
-- QUERY 80
SELECT EmployeeID, EmployeeName, HireDate, GETDATE() AS current_date,
DATEDIFF(DAY, HireDate, GETDATE()) AS experience FROM Employees ORDER BY
experience ASC;
-- QUERY 81
SELECT * FROM Employees where HireDate >= '1992-01-01' ORDER BY JobName ASC;
--QUERY 82
SELECT *
FROM Employees
ON Employees.DepartmentID = Department.DepartmenId
FROM Employees
ON Employees.Salary= SalaryGrade.MaxSalary
ORDER BY Grade ASC;
--QUERY 84
SELECT
Employees.EmployeeName,
Employees.JobName,
Employees.Salary,
Department.DepartmentName,
SalaryGrade.MaxSalary
FROM Employees
INNER JOIN Department
ON Employees.DepartmentID = Department.DepartmenId
--QUERY 85
SELECT
Employees.EmployeeName,
Employees.JobName,
Employees.Salary,
Department.DepartmentName,
SalaryGrade.MaxSalary
FROM Employees
ON Employees.DepartmentID = Department.DepartmenId
--QUERY 86
SELECT
Employees.EmployeeName ,
Employees.JobName ,
Employees.Salary,
SalaryGrade.Grade,
Department.DepartmentName
FROM
Employees
INNER JOIN
WHERE
--QUERY 87
SELECT *
FROM
Employees
INNER JOIN
Department ON Employees.DepartmentID = Department.DepartmenID;
--QUERY 88
--QUERY 89
select EmployeeID,EmployeeName,salary,DepartmentID from Employees where
DepartmentID=1001
--QUERY 90
--QUERY 91
AVG(salary) ,
FROM Employees
GROUP BY JobName,EmployeeName;
--QUERY 92
--QUERY 93
--QUERY 94
SELECT
Employees.EmployeeID,Employees.EmployeeName,Department.DepartmenID,Department.Depart
mentLocation,Department.DepartmentLocation
--QUERY 95
--QUERY 96
SELECT
Manager.ManagerID,
COUNT(Employees.EmployeeID) AS num_employees
FROM
Employees AS Manager
LEFT JOIN
GROUP BY
Manager.ManagerID
ORDER BY
Manager.ManagerID ASC;
--QUERY 97
--QUERY 98
GROUP BY departmentID
HAVING COUNT(*) >= 2;
--QUERY 99
--QUERY 100