You are on page 1of 8

Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

FINAL EXAM

NAME: MUHAMMAD ZARYAB MALIK

ROLL NO: 142-BSCS-19

SECTION: A

SUBJECT: Data Base Management Systems LAB

TEACHER NAME: Sir Nadeem Zafar

DATE: 03-06-2021

GOVERNMENT COLLEGE UNIVERSITY LAHORE


Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

Q: Write queries by considering the provided HR Schema:-

Query no :1
select * from Employees where first_name like 'S%'

Query no :2
select* from Employees where DATEDIFF(year, hire_date, GetDate()) >= 6

Query no :3
select E.First_Name + ' ' + E.Last_Name AS [EmployeeName],COUNT(JH.Employee_id)
[Promotion Count] from Employees E

INNER JOIN JOB_HISTORY JH ON E.Employee_id = JH.Employee_id

GROUP BY JH.Employee_id,E.First_Name,E.Last_Name

HAVING COUNT(JH.Employee_id) >= 2

Query no :4
CREATE VIEW [dbo].[vMissingManagers]

AS

select * from DEPARTMENTS where MANAGER_ID IS NULL

GO

Query no :5
select E.first_name +' '+ E.last_name AS [ManagerName], D.Department_Name from
DEPARTMENTS D

inner join EMPLOYEES E ON D.manager_id = E.Employee_id


Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

Query no :6
Delete E from Employees E

INNER JOIN DEPARTMENTS D ON D.manager_id = E.Employee_id where d.department_Name =


'Marketing'

Query no :7
select salary, salary+(salary*0.1) as [new salary] from employees

where salary <5000

Query no :8
select E.first_name +' '+ E.last_name AS [EmployeeName], D.Department_Name from
DEPARTMENTS D

right join EMPLOYEES E ON D.department_id = E.department_id

WHERE E.Department_id IS NOT NULL

Query no :9
SELECT YEAR(HIRE_DATE) AS [YEAR],J.JOB_TITLE AS [DESIGNATION],COUNT(J.JOB_TITLE)
AS[COUNT] FROM EMPLOYEES E

INNER JOIN JOBS J ON E.JOB_ID = J.JOB_ID

GROUP BY YEAR(HIRE_DATE),J.JOB_TITLE

Query no :10
CREATE PROCEDURE prEmployeesAdd

@employee_id int = NULL,

@first_name nvarchar(200) = NULL,

@last_name varchar(25) = NULL,


Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

@email varchar(25) = NULL,

@phone_number varchar(20) = NULL,

@hire_date date = NULL,

@job_id varchar(10) = NULL,

@salary numeric(8,2) = NULL,

@commission_pct numeric(2,2) = NULL,

@manager_id numeric(6,0) = NULL,

@department_id numeric(4,0) = NULL

AS

BEGIN

SET NOCOUNT ON;

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

INSERT INTO [dbo].[employees]

([employee_id]

,[first_name]

,[last_name]

,[email]

,[phone_number]

,[hire_date]

,[job_id]

,[salary]
Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

,[commission_pct]

,[manager_id]

,[department_id])

VALUES

(@employee_id,

@first_name,

@last_name,

@email,

@phone_number,

@hire_date,

@job_id,

@salary,

@commission_pct,

@manager_id,

@department_id)

END

EXEC prEmployeesAdd 207, 'Zaryab', 'Malik', 'zaryabmalik390@gmail.com', '515.123.4567', '17-


JUN-1987', 'AD_PRES', 24000, NULL, NULL, 90

Question 11:
Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

PartA:

Part B:
Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

CREATE TABLE certifications

( employee_id NUMERIC(6)

, certification_id NUMERIC(6)

, certification_title VARCHAR(100)

, start_dat DATE

, completion_date DATE

);

Part C:
ALTER TABLE certifications

ALTER COLUMN certification_title VARCHAR(100) NOT NULL;

ALTER TABLE certifications

ALTER COLUMN start_dat DATE NOT NULL;

ALTER TABLE certifications

ALTER COLUMN completion_date DATE NOT NULL;

CREATE UNIQUE INDEX jhist_certification_title_st_date_pk1

ON certifications (certification_title, start_dat,completion_date) ;

Part D:
ALTER TABLE certifications

ALTER COLUMN certification_id NUMERIC(6) NOT NULL;

ALTER TABLE certifications


Muhammad Zaryab Malik DBMS(LAB) 142-BSCS-19(A)

ALTER COLUMN employee_id NUMERIC(6) NOT NULL;

ALTER TABLE certifications

ADD CONSTRAINT jcert_certification_id_pk

PRIMARY KEY (certification_id)

, CONSTRAINT jcert_emp_fk

FOREIGN KEY (employee_id)

REFERENCES employees

You might also like