Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

CREATE TABLE PUBLISHER(

Name VARCHAR(20) PRIMARY CREATE TABLE BOOK_LENDING ( 1) SELECT Program_Name,


KEY, Book_Id INT, Program_Id INT, B.Book_Id, Title,
AddressVARCHAR(40), Card_No. INT, Date_Out DATE, Publisher_Name, Author_Name,
PhoneBIGINT Due_Date DATE, PRIMARY No_of_Copies FROM BOOK B,
); KEY(Book_Id, Program_Id, Card_No), BOOK_AUTHORS BA,
FOREIGN KEY(Book_Id) REFERENCES BOOK_COPIES BC,
CREATE TABLE BOOK( Book_Id INT Book(Book_Id) ON DELETE CASCADE LIBRARY_BRANCH L WHERE
PRIMARY KEY, Title VARCHAR(40), FOREIGN KEY(Program_Id) B.Book_Id = BA.Book_Id AND
Publisher_Name VARCHAR(20), REFERENCES B.Book_Id = BC.Book_Id AND
Pub_Year YEAR, FOREIGN LIBRARY_BRANCH(Program_Id) ON BC.Program_Id = L.Program_Id
KEY(Publisher_Name) REFERENCES DELETE CASCADE ); GROUP BY Program_Name;
PUBLISHER(Name) );
CREATE TABLE BOOK_COPIES (
CREATE TABLE BOOK_AUTHORS( Book_Id Book_Id INT, Program_Id INT,
2)SELECT Card_No FROM BOOK
INT PRIMARY KEY, Author_Name No_of_Copies INT, PRIMARY LENDING WHERE Date_Out
VARCHAR(20), FOREIGN KEY(Book_Id) KEY(Book_Id, Program_Id), FOREIGN
BETWEEN ‘2009-05-01’ AND
REFERENCES Book(Book_Id) ON DELETE KEY(Book_Id) REFERENCES
‘2009-08-01’ GROUP BY
CASCADE ); Book(Book_Id) ON DELETE CASCADE Card_No HAVING COUNT(*) > 3
FOREIGN KEY(Program_Id)
CREATE TABLE LIBRARY_PROGRAM( REFERENCES 3) DELETE FROM BOOK WHERE
Program_Id INT PRIMARY KEY, LIBRARY_PROGRAM(Program_Id) ON Book_Id = 105;
Program_Name VARCHAR(20), DELETE CASCADE );
Address VARCHAR(40), );
4) CREATE VIEW P1 AS SELECT *
FROM BOOK WHERE Pub_Year
BETWEEN ‘1995’ AND ‘2000’;

5) CREATE VIEW BOOKS_AVAIL


AS SELECT B.Book_Id, Title,
C.No_of_Copies FROM BOOK B,
BOOK_COPIES C WHERE
B.Book_Id = C.Book_Id;
CREATE TABLE SALESMAN( Salesman_id INT
PRIMARY KEY, Name VARCHAR(25) NOT
NULL, City VARCHAR(15) NOT NULL,
Commission FLOAT NOT NULL );

CREATE TABLE CUSTOMER( Customer_id INT


PRIMARY KEY, Cust_Name VARCHAR(25) NOT
NULL, City VARCHAR(15) NOT NULL, Grade INT
NOT NULL, Salesman_id INT FOREIGN
KEY(Salesman_id) REFERENCES
SALESMAN(Salesman_id) ON DELETE SET NULL );

CREATE TABLE ORDERS( Ord_No INT PRIMARY KEY,


Purchase_Amt INT NOT NULL, Ord_Date DATE NOT NULL,
Customer_id INT, Salesman_id INT, FOREIGN
KEY(Customer_id) REFERENCES CUSTOMER(Customer_id)
ON DELETE CASCADE, FOREIGN KEY(Salesman_id)
REFERENCES SALESMAN(Salesman_id) ON DELETE
CASCADE );

1)SELECT COUNT (Customer_id) FROM CUSTOMER


WHERE Grade > ( SELECT AVG(Grade) FROM CUSTOMER
WHERE City = ‘Bangalore’ ) ;

2) SELECT Name, S.Salesman_id, COUNT(Customer_id)


FROM SALESMAN S, CUSTOMER C WHERE
S.Salesman_id = C.Salesman_id GROUP BY Name
HAVING COUNT(Customer_id) > 1 ;

3) SELECT Name FROM SALESMAN S, CUSTOMER C


WHERE S.Salesman_id = C.Salesman_id AND S.City =
C.City UNION SELECT Name FROM SALESMAN WHERE
Salesman_id NOT IN ( SELECT S.Salesman_id FROM
SALESMAN S, CUSTOMER C WHERE S.Salesman_id =
C.Salesman_id AND S.City = C.City );

4)CREATE VIEW HighOrder AS SELECT Salesman_id,


Customer_id, Purchase_Amt, Ord_Date FROM ORDERS
X WHERE Purchase_Amt = ( SELECT MAX(Purchase_Amt)
FROM ORDERS Y WHERE X.Ord_Date = Y.Ord_Date ) ;

5) DELETE FROM SALESMAN WHERE Salesman_id =


1000 ;
CREATE TABLE ACTOR( Act_id INT PRIMARY KEY,
Act_Name VARCHAR(25) NOT NULL, Act_Gender
CHAR(1) NOT NULL );

CREATE TABLE DIRECTOR( Dir_id INT PRIMARY KEY,


Dir_Name VARCHAR(25) NOT NULL, Dir_Phone
CHAR(10) NOT NULL );

CREATE TABLE MOVIES( Mov_id INT PRIMARY KEY,


Mov_Title VARCHAR(50) NOT NULL, Mov_Year YEAR
NOT NULL, Mov_Lang VARCHAR(15) NOT NULL Dir_id
INT NOT NULL, FOREIGN KEY(Dir_id) REFERENCES
DIRECTOR(Dir_id) );

CREATE TABLE MOVIE_CAST( Act_id INT, Mov_id INT,


Role VARCHAR(15) NOT NULL, PRIMARY
KEY(Act_id,Mov_id), FOREIGN KEY(Act_id) REFERENCES
ACTOR(Act_id), FOREIGN KEY(Mov_id) REFERENCES
MOVIES(Mov_id) );

CREATE TABLE RATING( Mov_id INT, Rev_Stars INT(1)


NOT NULL, FOREIGN KEY(Mov_id) REFERENCES
MOVIES(Mov_id) );

SELECT Mov_Title FROM MOVIES M, DIRECTOR D


WHERE M.Dir_id = D.Dir_id AND Dir_Name = ‘Hitchcock’
;

SELECT Mov_Title FROM MOVIES M, MOVIE_CAST C


WHERE M.Mov_id = C.Mov_id AND Act_id IN ( SELECT
Act_id FROM MOVIE_CAST GROUP BY Act_id HAVING
COUNT(Act_id) > 1 ) ;

SELECT Act_Name FROM (ACTOR A JOIN MOVIE_CAST C


ON A.Act_id = C.Act_id) JOIN MOVIES M ON C.Mov_id =
M.Mov_id WHERE M.Mov_Year < 2000 AND Act_Name
IN ( SELECT Act_Name FROM (ACTOR A JOIN
MOVIE_CAST C ON A.Act_id = C.Act_id) JOIN MOVIES M
ON C.Mov_id = M.Mov_id WHERE M.Mov_Year > 2015);

SELECT Mov_Title, Rev_Stars, MAX(Rev_Stars) FROM


MOVIES M, RATING R WHERE M.Mov_id = R.Mov_id
GROUP BY Mov_Title HAVING COUNT(Mov_Title) > 1
ORDER BY Mov_Title;

UPDATE RATING SET Rev_Stars = 5 WHERE Mov_id IN (


SELECT Mov_id FROM MOVIES M, DIRECTOR D WHERE
M.Dir_id = D.Dir_id AND Dir_Name = ‘Steven Spielberg’)
;
CREATE TABLE STUDENT( USN CHAR(10) PRIMARY KEY,
SName VARCHAR(25) NOT NULL, Address VARCHAR(30)
NOT NULL, Phone VARCHAR(10), Gender CHAR(1) NOT
NULL );

CREATE TABLE SEMSEC( SSID INT PRIMARY KEY, Sem INT


NOT NULL, Sec CHAR(1) NOT NULL, );

CREATE TABLE CLASS( USN CHAR(10) PRIMARY KEY, SSID


INT, FOREIGN KEY(USN) REFERENCES STUDENT(USN),
FOREIGN KEY(SSID) REFERENCES SEMSEC(SSID) );

CREATE TABLE CLASS( Subcode CHAR(7) PRIMARY KEY,


Title VARCHAR(20), Sem INT, CREDITS INT );

CREATE TABLE CLASS( USN CHAR(10), Subcode CHAR(7),


SSID INT, Test1 INT NOT NULL, Test2 INT NOT NULL,
Test3 INT NOT NULL, FinalIA REAL, PRIMARY KEY(USN,
Subcode, SSID), FOREIGN KEY(USN) REFERENCES
STUDENT(USN), FOREIGN KEY(Subcode) REFERENCES
COURSE(Subcode), FOREIGN KEY(SSID) REFERENCES
SEMSEC(SSID));

SELECT S.USN, Sname, Address, Phone, Gender FROM


STUDENT S, SEMSEC SS, CLASS C WHERE S.USN = C.USN
AND SS.SSID = C.SSID AND Sem=4 AND Sec=‘C’ ;

SELECT Sem, Sec, Gender, COUNT(*) FROM STUDENT S,


SEMSEC SS, CLASS C WHERE S.USN = C.USN AND SS.SSID
= C.SSID GROUP BY Sem, Sec, Gender ;

CREATE VIEW 4MH12CS002 AS SELECT Subcode, Test1


FROM IAMARKS WHERE USN = ‘4MH12CS002’ ;

UPDATE IAMARKS SET FinalIA = GREATEST(Test1+Test2,


Test2+Test3,Test1+Test3)/2;

SELECT S.USN, Sname, SS.Sem, SS.Sec, M.Subcode,


M.FinalIA, ( CASE WHEN FinalIA BETWEEN 17 AND 20
THEN ‘Outstanding’ WHEN FinalIA BETWEEN 12 AND 16
THEN ‘Average’ WHEN FinalIA < 12 THEN ‘Weak’ ELSE
‘NA’ END) AS Category FROM STUDENT S, IAMARKS M,
SEMSEC SS WHERE S.USN = M.USN AND SS.SSID =
M.SSID AND SS.Sem=8;
CREATE TABLE DEPARTMENT ( DNo INT PRIMARY KEY,
DName VARCHAR(20), MgrSSN INT, MgrStartDate DATE
);

CREATE TABLE EMPLOYEE ( SSN INT PRIMARY KEY,


FName VARCHAR(20) NOT NULL, LName VARCHAR(20)
NOT NULL, Address VARCHAR(30), Gender CHAR(1),
Salary REAL, SuperSSN INT, DNo INT, FOREIGN
KEY(SuperSSN) REFERENCES EMPLOYEE(SSN), FOREIGN
KEY(Dno) REFERENCES DEPARTMENT(DNo) );

ALTER TABLE DEPARTMENT ADD FOREIGN KEY(MgrSSN)


REFERENCES EMPLOYEE(SSN)

CREATE TABLE DLOCATION ( DNo INT, DLoc


VARCHAR(20), PRIMARY KEY(DNo, DLoc), FOREIGN
KEY(DNo) REFERENCES DEPARTMENT(DNo) );

CREATE TABLE PROJECT ( PNo INT PRIMARY KEY, PName


VARCHAR(20), PLocation VARCHAR(20), DNo INT,
FOREIGN KEY(DNo) REFERENCES DEPARTMENT(DNo) );

CREATE TABLE PROJECT ( SSN INT, PNo INT, Hours INT


NOT NULL, PRIMARY KEY(SSN, PNo), FOREIGN KEY(SSN)
REFERENCES EMPLOYEE(SSN), FOREIGN KEY(PNo)
REFERENCES PROJECT(PNo) );

(SELECT DISTINCT P.PNo FROM PROJECT P, DEPARTMENT


D, EMPLOYEE E WHERE E.DNo = D.DNo AND D.MgrSSN =
E.SSN AND E.LName = ‘Scott’ ) UNION (SELECT DISTINCT
P.Pno FROM PROJECT P, WORKS_ON W, EMPLOYEE E
WHERE P.PNo = W.PNo AND E.SSN = W.SSN AND
E.LName = ‘Scott’ );

SELECT E.FName, E.LName, 1.1*E.Salary AS NewSalary


FROM EMPLOYEE E, WORKS_ON W, PROJECT P WHERE
E.SSN=W.SSN AND W.PNO=P.PNO AND P.PName = ‘IoT’;

SELECT SUM(E.Salary), MAX(E.Salary), MIN(E.Salary),


AVG (E.Salary) FROM EMPLOYEE E, DEPARTMENT D
WHERE E.DNO=D.DNO AND D.DName = ‘Accounts’;

SELECT E.FName, E.Lname FROM EMPLOYEE E WHERE


NOT EXISTS ( SELECT Pno FROM PROJECT P WHERE DNo
= 5 AND PNo NOT IN ( SELECT PNO FROM WORKS_ON W
WHERE E.SSN = SSN ));

SELECT D.DNo, COUNT (*) FROM DEPARTMENT D,


EMPLOYEE E WHERE D.DNO=E.DNO AND E.Salary >
600000 AND D.DNo IN ( SELECT E.DNo FROM EMPLOYEE
E GROUP BY E.DNo HAVING COUNT(*) > 5 ) GROUP BY
D.DNo;

You might also like