Dma - Assignmnet 2 - 241114 - 092531
Dma - Assignmnet 2 - 241114 - 092531
SAHIL NEHERE
202101070099
DMA
CREATE DATABASE
assignment2; USE
assignment2;
CREATE TABLE
trains( TNO INT
PRIMARY KEY,
TNAME
VARCHAR(30),
START
VARCHAR(30),
END
VARCHAR(30)
);
CREATE TABLE
passengers( PNR
VARCHAR(10),
TNO INT,
PNAME
VARCHAR(30),
GENDER
VARCHAR(10), AGE
INT,
TRAVELDATE DATE);
#To display PNR, Pname, Gender, Age of all passengers whose age
is below 50. SELECT PNR, PNAME, GENDER, AGE
FROM
passengers
WHERE
AGE<=50;
# by subquery
SELECT PNR, PNAME, GENDER, AGE
FROM passengers
WHERE TNO = (SELECT TNO FROM trains WHERE TNO = 12015);
#Corrected query
SELECT MAX(TRAVELDATE), MIN(TRAVELDATE)
FROM Passengers
WHERE GENDER = 'Female';
SELECT END, COUNT(*)
FROM trains
GROUP BY
END
HAVING COUNT(*) > 1;
###########
##########
########
# PART 2
##########
########
#########
CREATE TABLE
Accessories ( No
CHAR(3) PRIMARY
KEY, Name
VARCHAR(50),
Price
DECIMAL(10, 2),
Id CHAR(3),
FOREIGN KEY (Id) REFERENCES Shoppe(Id)
);
#To display Name, Minimum and Maximum Price of each name from
Accessories table. SELECT Name, MIN(Price) AS MinPrice,
MAX(Price) AS MaxPrice
FROM
Accessories
GROUP BY
Name;
#To display Name, Price of all Accessories and their respective SName from
Table Shoppe and Accessories where Price is 5000 or more.
SELECT a.Name, a.Price,
s.SName FROM Accessories
a
JOIN Shoppe s ON a.Id
= s.Id WHERE a.Price
>= 5000;
SELECT DISTINCT
NAME FROM
ACCESSORIES
WHERE PRICE >5000;
SELECT Area, COUNT(*) AS
NumShops FROM Shoppe
GROUP BY Area;
FROM
ACCESSORIES
WHERE
PRICE>=10000;
SELECT *
FROM Shoppe AS S
JOIN Accessories AS A ON
S.Id = A.Id WHERE A.Price >=
10000;