0% found this document useful (0 votes)
17 views4 pages

Table Creation Assignment

Uploaded by

pr.im12me
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)
17 views4 pages

Table Creation Assignment

Uploaded by

pr.im12me
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/ 4

Table creation:

create database mydb7;


use mydb7;

CREATE TABLE Student (


snum INTEGER PRIMARY KEY,
sname VARCHAR(50),
major VARCHAR(50),
level VARCHAR(10),
age INTEGER
);

CREATE TABLE Class (


name VARCHAR(50),
meets_at TIME,
room VARCHAR(10),
fid INTEGER
);
CREATE TABLE Enrolled (
snum INTEGER,
cname VARCHAR(50),
PRIMARY KEY (snum, cname)
-- FOREIGN KEY (snum) REFERENCES Student(snum),
-- FOREIGN KEY (cname) REFERENCES Class(name)
);
CREATE TABLE Faculty (
fid INTEGER PRIMARY KEY,
fname VARCHAR(50),
deptid INTEGER
);

INSERT INTO Student (snum, sname, major, level, age)


VALUES
(1001, 'Alice Smith', 'Computer Science', 'Senior', 22),
(1002, 'Bob Johnson', 'Mathematics', 'Junior', 20),
(1003, 'Charlie Brown', 'Computer Science', 'Sophomore', 19),
(1004, 'Diana Ross', 'Physics', 'Senior', 23);

INSERT INTO Class (name, meets_at, room, fid)


VALUES
('CS101', '09:00:00', 'A101', 1),
('MATH201', '10:00:00', 'B202', 2),
('PHYS301', '11:00:00', 'C303', 3);
INSERT INTO Enrolled (snum, cname)
VALUES
(1001, 'CS101'),
(1002, 'MATH201'),
(1003, 'CS101'),
(1004, 'PHYS301');

INSERT INTO Faculty (fid, fname, deptid)


VALUES
(1, 'Dr. John Doe', 1),
(2, 'Dr. Jane Smith', 2),
(3, 'Dr. Emily Davis', 3);

1.
Code:
SELECT DISTINCT s.sname
FROM Student s
JOIN Enrolled e ON s.snum = e.snum
JOIN Class c ON e.cname = c.name
JOIN Faculty f ON c.fid = f.fid
WHERE s.level = 'Junior' AND f.fname = 'Prof. Z';

Output:

2.
Code:
SELECT MAX(s.age)
FROM Student s
LEFT JOIN Enrolled e ON s.snum = e.snum
LEFT JOIN Class c ON e.cname = c.name
LEFT JOIN Faculty f ON c.fid = f.fid
WHERE s.major = 'History' OR f.fname = 'Prof. Z';

Output:
3.
Code:
SELECT MAX(s.age)
FROM Student s
LEFT JOIN Enrolled e ON s.snum = e.snum
LEFT JOIN Class c ON e.cname = c.name
LEFT JOIN Faculty f ON c.fid = f.fid
WHERE s.major = 'History' OR f.fname = 'Prof. Z';

Output:

4.
Code:
SELECT DISTINCT s.sname
FROM Student s
JOIN Enrolled e1 ON s.snum = e1.snum
JOIN Class c1 ON e1.cname = c1.name
JOIN Enrolled e2 ON s.snum = e2.snum
JOIN Class c2 ON e2.cname = c2.name
WHERE c1.meets_at = c2.meets_at AND c1.name != c2.name;

Output:

5.
Code:
SELECT f.fname
FROM Faculty f
JOIN Class c ON f.fid = c.fid
GROUP BY f.fname
HAVING COUNT(DISTINCT c.room) = (SELECT COUNT(DISTINCT room) FROM Class);

Output:

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