0% found this document useful (0 votes)
11 views10 pages

Dumbs

Uploaded by

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

Dumbs

Uploaded by

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

210218342

ZAINAB UMAR

DBMS
LESSON SLIDES ASSIGNMENT
CHAPTER 3

pg 21(self join)

--CREATE TABLE
CREATE TABLE Project(
StudentID INT PRIMARY KEY,
Name VARCHAR(255),
SupervisorID INT
);

--INSERT DATA
INSERT INTO Project(StudentID,Name,SupervisorID)
VALUES
(100,'Bob',103)
(101,'Mary',102)
(102,'Susan',NULL)
(103,'Alice',104)
(104,'David',101)
--FIND SUPERVISOR OF BOB
SELECT E1.Name AS Student, E3.Name AS Supervisor
FROM Project AS E1
LEFT JOIN Project AS E3 ON E1.SupervisorID = E3.StudentID
WHERE E1.Name = 'Bob';

--FIND SUPERVISOR OF SUPERVISOR OF BOB


SELECT E1.Name AS Student, E4.Name AS
SupervisorOfSupervisor
FROM Project AS E1
LEFT JOIN Project AS E3 ON E1.SupervisorID = E3.StudentID
LEFT JOIN Project AS E4 ON E3.SupervisorID = E4.StudentID
WHERE E1.Name = 'Bob';

--FIND SUPERVISOR DIRECT AND INDIRECT OF BOB


SELECT E1.Name AS Student, E3.Name AS Supervisor
FROM Project AS E1
LEFT JOIN Project AS E3 ON E1.SupervisorID = E3.StudentID
WHERE E1.Name = 'Bob'
UNION
SELECT E1.Name AS Student,E4.Name AS Supervisor
FROM Project AS E1
LEFT JOIN Project AS E3 ON E1.SupervisorID = E3.StudentID
LEFT JOIN Project AS E4 ON E3.SupervisorID = E4.StudentID
WHERE E1.Name = 'Bob';
pg 25

-- Create the instructors table


CREATE TABLE instructors (
ID INT PRIMARY KEY,
name VARCHAR(255),
salary DECIMAL(10, 2)
);

-- Insert data into the 'instructors' table


INSERT INTO instructors (ID, name, salary)
VALUES
(100, 'Bob', 95000),
(101, 'Mary', 88000),
(102, 'Susan', 105000),
(103, 'Alice', 97000),
(104, 'David', 99000);

-- FIND NAMES OF INSTRUCTORS WITH SALARY BETWEEN


90,000 AND 10,000
SELECT name
FROM instructors
WHERE salary BETWEEN 90000 AND
100000;
-- Create the 'teaches' table
CREATE TABLE teaches (
ID INT,
course_id INT,
dept_name VARCHAR(255),
PRIMARY KEY (ID, course_id),
FOREIGN KEY (ID) REFERENCES instructors(ID)
);
-- Insert data into the 'teaches' table
INSERT INTO teaches (ID, course_id, dept_name)
VALUES
(100, 1, 'Biology'),
(101, 2, 'Chemistry'),
(102, 3, 'Physics'),
(103, 1, 'Biology'),
(104, 2, 'Chemistry');

SELECT i.name, t.course_id


FROM instructor i, teaches t
WHERE (i.ID, 'Biology') = (t.ID, t.dept_name);

pg 31

CREATE TABLE instructor (


ID INT PRIMARY KEY,
name VARCHAR(255),
dept_name VARCHAR(255),
salary DECIMAL(10, 2)
);

CREATE TABLE teachess (


ID INT,
course_id INT,
semester VARCHAR(255),
year INT
);
-- Insert data into the 'teachess' table
INSERT INTO teachess (ID, course_id, semester, year)
VALUES
(1, 101, 'Spring', 2018),
(2, 102, 'Spring', 2018),
(3, 201, 'Fall', 2018),
(4, 202, 'Spring', 2018);

CREATE TABLE course (


course_id INT PRIMARY KEY,
course_name VARCHAR(255)
);
-- Insert data into the 'course' table
INSERT INTO course (course_id, course_name)
VALUES
(101, 'Introduction to Computer Science'),
(102, 'Data Structures'),
(201, 'Biology 101'),
(202, 'Physics 101');

SELECT AVG(salary)
FROM instructor
WHERE dept_name = 'Comp. Sci.';

SELECT COUNT(DISTINCT ID)


FROM teachess
WHERE semester = 'Spring' AND year = 2018;

SELECT COUNT(*)
FROM
course;
pg 37
--Find courses offered in Fall 2017 and in Spring 2018.
SELECT course_id, course_name
FROM course
WHERE course_id IN (
SELECT course_id
FROM teachess
WHERE (semester = 'Fall' AND year = 2017)
OR (semester = 'Spring' AND year = 2018)
);

--Find courses offered in Fall 2017 but not in Spring 2018.


SELECT course_id, course_name
FROM course
WHERE course_id IN (
SELECT course_id
FROM teachess
WHERE semester = 'Fall' AND year = 2017
)
AND course_id NOT IN (
SELECT course_id
FROM teachess
WHERE semester = 'Spring' AND year = 2018

);

pg 38
SELECT name
FROM instructor
WHERE name NOT IN ('Mozart', 'Einstein');
pg 40

SELECT name
FROM instructor
WHERE salary > (
SELECT MAX(salary)
FROM instructor
WHERE dept_name = 'Biology'
);

pg 49

SELECT dept_name, AVG(salary) AS average_salary


FROM instructor
GROUP BY dept_name
HAVING AVG(salary) > 42000;
pg 50

WITH MaxBudgetCTE AS (
SELECT MAX(budget) AS max_budget
FROM department
)
SELECT dept_name
FROM department
WHERE budget = (SELECT max_budget FROM
MaxBudgetCTE);

pg 54

DELETE FROM instructor;

pg 56

DELETE FROM instructor


WHERE dept_name = 'Finance';

DELETE FROM instructor


WHERE dept_name IN (
SELECT dept_name
FROM department
WHERE building = 'Watson'
);

pg 59

UPDATE instructor
SET salary = CASE
WHEN salary > 100000 THEN salary * 1.03 -- Increase by 3%
for salaries over $100,000
ELSE salary * 1.05 -- Increase by 5% for all others
END;
pg 60
UPDATE instructor
SET salary =
CASE
WHEN salary > 100000 THEN salary * 1.03 -- Increase
by 3% for salaries over $100,000
ELSE salary * 1.05 -- Increase by 5% for all others
END;

You might also like