0% found this document useful (0 votes)
38 views

DataBase Assignment

Uploaded by

ayesha batool
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

DataBase Assignment

Uploaded by

ayesha batool
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

DataBase ASSIGNMENT

SQL QUERIES

Session: 2023 – 2027

Submitted by:
Saher Riaz 2023-CS-170

Supervised by:
Dr.Amjad Farooq

Department of Computer Science


University of Engineering and Technology
Lahore Pakistan
CREATION OF TABLES
-- Creating Employees Table:
CREATE TABLE Employees (
EmployeeID int,

EmployeeNameVARCHAR(15),

JobNameVARCHAR(10),

ManagerID int,
HireDate Date,
Salary Decimal (10,2),

Commission Decimal (10,2),

DepartmentID int);
-- Creating SalaryGrade Table:

CREATE TABLE SalaryGrade(


Grade int,
MaxSalary int,
MinSalary int);

-- Creating Department Table:

CREATE TABLE Department (


DepartmentID int,

DepartmentNameVARCHAR(20),

DepartmentLocationVARCHAR(15));
INSERTION OF VALUES

INSERT INTO Employees (EmployeeID, EmployeeName, JobName, ManagerID, HireDate, Salary,


Commission, DepartmentID)

VALUES
(68319, 'KAYLING', 'PRESIDENT', null, '1991-11-18', 6000.00, null, 1001),

(66928, 'BLAZE', 'MANAGER', 68319, '1991-05-01', 2750.00, null, 3001),

(67832, 'CLARE', 'MANAGER', 68319, '1991-06-09', 2550.00, null, 1001),

(65646, 'JONAS', 'MANAGER', 68319, '1991-04-02', 2957.00, null, 2001),

(67858, 'SCARLET', 'ANALYST', 65646, '1997-04-19', 3100.00, null, 2001),

(69062, 'FRANK', 'ANALYST', 65646, '1991-12-03', 3100.00, null, 2001),

(63679, 'SANDRINE', 'CLERK', 69062, '1990-12-18', 900.00, null, 2001), (64989, 'ADELYN',
'SALESMAN', 66928, '1991-02-20', 1700.00,400.00,3001),

(65271, 'WADE', 'SALESMAN', 66928, '1991-02-22', 1350.00, 600.00, 3001),

(66564, 'MADDEN', 'SALESMAN', 66928, '1991-09-28', 1350.00, 1500.00, 3001),

(68454, 'TUCKER', 'SALESMAN', 66928, '1991-09-08', 1600.00, 0.00, 3001),

(68736, 'ADNRES', 'CLERK', 67858, '1997-05-23', 1200.00, null, 2001),

(69000, 'JULIUS', 'CLERK', 66928, '1991-12-03', 1050.00, null, 3001),

(69324, 'MARKER', 'CLERK', 67832, '1992-01-23', 1400.00, null, 1001);

INSERT INTO Department (DepartmentID, DepartmentName, DepartmentLocation)


VALUES
(1001, 'FINANCE', 'SYDNEY'),

(2001, 'AUDIT', 'MELBOURNE'),

(3001, 'MARKETING', 'PERTH'),

(4001, 'PRODUCTION', 'BRISBANE');


INSERT INTO SalaryGrade(Grade, MaxSalary, MinSalary)
VALUES
(1, 800, 1300),

(2, 1301, 1500),

(3, 1501, 2100),

(4, 2101, 3100),

(5, 3101, 9999);

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

RIGHT JOIN Department

ON Employees.DepartmentID = Department.DepartmenId

where DepartmentName IN ('FINANCE','AUDIT') ORDER BY DepartmenId ASC;


--QUERY 83
SELECT *

FROM Employees

LEFT JOIN SalaryGrade

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

INNER JOIN SalaryGrade


ON Employees.Salary = SalaryGrade.MaxSalary ORDER BY EmployeeID ASC;

--QUERY 85
SELECT

Employees.EmployeeName,
Employees.JobName,
Employees.Salary,
Department.DepartmentName,
SalaryGrade.MaxSalary
FROM Employees

INNER JOIN Department

ON Employees.DepartmentID = Department.DepartmenId

INNER JOIN SalaryGrade


ON Employees.Salary = SalaryGrade.MaxSalary
WHERE JobName != 'CLERK'
ORDER BY Salary DESC;

--QUERY 86
SELECT

Employees.EmployeeName ,
Employees.JobName ,
Employees.Salary,
SalaryGrade.Grade,
Department.DepartmentName

FROM

Employees

INNER JOIN

Department ON Employees.DepartmentID = Department.DepartmenID


INNER JOIN
SalaryGrade ON Employees.Salary = SalaryGrade.MaxSalary

WHERE

Employees.JobName <> 'CLERK'


ORDER BY
Employees.Salary DESC;

--QUERY 87

SELECT *

FROM

Employees

INNER JOIN
Department ON Employees.DepartmentID = Department.DepartmenID;
--QUERY 88

SELECT * FROM Employees

WHERE JobName!='MANGER' AND HireDate < '1991-04-02';

--QUERY 89
select EmployeeID,EmployeeName,salary,DepartmentID from Employees where
DepartmentID=1001

order by Salary ASC;

--QUERY 90

SELECT MAX(Salary) AS highest_salary


FROM Employees;

--QUERY 91

SELECT EmployeeName, JobName,

AVG(salary) ,

AVG(salary + COALESCE(commission, 0))

FROM Employees
GROUP BY JobName,EmployeeName;

--QUERY 92

SELECT JobName,SUM(Salary) AS TotalAnnualSalary FROM Employees where HireDate


BETWEEN '1991-01-01' AND '1991-12-31' GROUP BY JobName;

--QUERY 93

SELECT Employees.EmployeeName, Employees.EmployeeID


,Employees.DepartmentID,Department.DepartmentLocation

FROM Employees INNER JOIN Department ON Employees.DepartmentID =


Department.DepartmenID;

--QUERY 94
SELECT
Employees.EmployeeID,Employees.EmployeeName,Department.DepartmenID,Department.Depart
mentLocation,Department.DepartmentLocation

FROM Employees INNER JOIN Department ON Employees.DepartmentID =


Department.DepartmenID WHERE DepartmenID IN (1001,2001) ;

--QUERY 95

SELECT Employees.EmployeeID, Employees.EmployeeName, Employees.Salary,


SalaryGrade.Grade

FROM Employees INNER JOIN SalaryGrade ON Employees.Salary = SalaryGrade.MaxSalary

WHERE Salary BETWEEN MinSalary AND MaxSalary;

--QUERY 96
SELECT
Manager.ManagerID,
COUNT(Employees.EmployeeID) AS num_employees

FROM

Employees AS Manager

LEFT JOIN

Employees ON Manager.ManagerID = Employees.ManagerID

GROUP BY

Manager.ManagerID
ORDER BY
Manager.ManagerID ASC;
--QUERY 97

SELECT DepartmentID, JobName, COUNT(*) as num_employees


FROM Employees
GROUP BY DepartmentID,JobName;

--QUERY 98

SELECT DepartmentID, COUNT(*) AS NumOfEmployees


FROM Employees

GROUP BY departmentID
HAVING COUNT(*) >= 2;

--QUERY 99

SELECT COUNT(Employees.JobName) AS NumOfEmployees,


SalaryGrade.Grade,SalaryGrade.MaxSalary

FROM Employees INNER JOIN SalaryGrade ON Employees.Salary = SalaryGrade.MaxSalary


GROUP BY Grade,MaxSalary;

--QUERY 100

select Department.DepartmentName, SalaryGrade.Grade , COUNT(Employees.JobName) AS


Counting from Employees

inner join Department on Department.DepartmenId=Employees.DepartmentID inner join


SalaryGrade

on Employees.Salary=SalaryGrade.MaxSalary group by DepartmentName, Grade;

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy