SQL Lab Correction
SQL Lab Correction
1)
CREATE DATABASE my_booking;
2)
CREATE TABLE client(
id_clt int(11),
name_clt varchar(50),
fname_clt varchar(50),
address_clt varchar(50),
phone_clt varchar(20),
PRIMARY KEY (id_clt)
);
3)
INSERT INTO client(id_clt,name_clt,fname_clt,address_clt,phone_clt)
VALUES(1,'Adem','DHARFI','Tunis','98552637');
4)
a.
SELECT name_h,nb_star FROM hotel
WHERE city_h='Hammamet';
b.
SELECT * FROM hotel
WHERE city_h='Djerba' AND nb_star=5;
c.
SELECT * FROM client, booking, hotel
WHERE client.id_clt=booking.id_clt
AND booking.id_h=hotel.id_h
AND hotel.nb_star=3
AND hotel.name_h='Hammamet';
d.
SELECT * FROM client, booking
WHERE booking.date_b BETWEEN '2012-07-01' AND '2012-08-22';
e.
SELECT * FROM client, hotel
WHERE client.address_clt='Tunis'
AND hotel.city_h='Mahdia';
f.
SELECT COUNT(id_b) FROM booking, hotel
WHERE booking.id_h=hotel.id_h
GROUP BY hotel.name_h;
g.
SELECT SUM(price) FROM booking, hotel
WHERE booking.id_h=hotel.id_h
GROUP BY name_h;
h.
SELECT SUM(price) FROM booking, hotel
WHERE booking.id_h=hotel.id_h
GROUP BY city_h;
i.
SELECT SUM(price) FROM booking, hotel
WHERE booking.id_h=hotel.id_h
GROUP BY nb_star;
j.
SELECT SUM(price) FROM booking, hotel
WHERE booking.id_h=hotel.id_h
GROUP BY booking.room;
EX2:
PART1:
Question1:
CREATE TABLE PERSON(
PersonNum INT(11) PRIMARY KEY,
Last_name VARCHAR(20),
First_name VARCHAR(20),
Numfather INT(11),
NumMother INT(11),
Gender CHAR(1),
FOREIGN KEY (Numfather) REFERENCES PERSON(PersonNum),
FOREIGN KEY (NumMother) REFERENCES PERSON(PersonNum)
);
Question2:
CREATE TABLE UNIONS(
Num_husband INT(11) PRIMARY KEY,
NumWife INT(11) PRIMARY KEY,
FOREIGN KEY (Num_husband) REFERENCES PERSON(PersonNum),
FOREIGN KEY (NumWife) REFERENCES PERSON(PersonNum)
);
Question3:
ALTER TABLE UNIONS
ADD COLUMN WeddingDate DATE PRIMARY KEY;
Question4:
INSERT INTO PERSON
VALUES(3, 'Hammami', 'Karim', 1, 2, 'M');
PART2:
Question1:
UPDATE PERSON
SET First_name = 'AbdelKarim'
WHERE PersonNum=3;
Question2:
SELECT * FROM PERSON
WHERE PersonNum = 9;
Question3:
SELECT First_name FROM PERSON,UNIONS
WHERE Num_husband = 9
AND NumWife = PersonNum
AND Gender = 'F';
Question4:
SELECT COUNT(*) FROM PERSON
WHERE Numfather = 9
AND Gender='F';
Question5:
SELECT First_name,Last_name FROM PERSON
WHERE EXISTS (
SELECT * FROM UNIONS
WHERE Num_husband = PERSON.PersonNum
AND MariageDate BETWEEN '2000-10-10' AND '2020-10-10'
);