Documente Academic
Documente Profesional
Documente Cultură
2020
Pentru baza de date “Hotel” au fost scrise următoarele interogări :
Setul dinamic :
Setul dinamic :
--3. Clientii care s-au nascut in perioada 2000 – prezent
select c.nume
,c.prenume
,c.data_nastere
,c.numar_telefon
,c.email
from dbo.clienti c
where c.data_nastere between ‘01.01.2000’ and sysdatetime()
Setul dinamic :
select c.nume
,c.prenume
,c.data_nastere
,c.numar_telefon
,c.email
,datediff(year,c.data_nastere,sysdatetime()) ani
,datediff(month,c.data_nastere,sysdatetime()) luni
from dbo.clienti c
select c.nume
,count(*) nr
from dbo.clienti c
group by c.nume
Setul dinamic:
--6. Cate adrese sunt in fiecare oras
select l.orasul
,count(a.id_adresa) nr_adrese
from dbo.localitate l
,dbo.adrese a
where a.id_localitate = l.id_localitate
group by l.orasul
Setul dinamic:
select l.orasul
,a.strada
,a.nr_strada
,h.*
from dbo.localitate l
,dbo.adrese a
,dbo.hotel h
where l.id_localitate = a.id_localitate
and a.id_adresa = h.id_adresa
and l.orasul not like ‘Chisinau’
Setul dinamic :
--8. De afisat informatia despre comenzile facute la hotelurile din
Drochia , Cricova
select l.orasul
,l.id_localitate
,a.strada
,h.denumirea
,c.etaj
,c.nr_camera
,c.data_rezervare
,c.data_sosire
,c.zile_rezervate
,c.pret_zi
from dbo.comanda c
,dbo.hotel h
,dbo.adrese a
,dbo.localitate l
where c.id_hotel = h.id_hotel
and h.id_adresa = a.id_adresa
and a.id_localitate = l.id_localitate
and l.id_localitate in (4,5)
Setul dinamic :
select cl.nume
,cl.prenume
,cl.data_nastere
,cl.numar_telefon
,cl.email
,cm.etaj
,cm.nr_camera
,cm.data_rezervare
,cm.data_sosire
,cm.zile_rezervate
,cm.pret_zi
from dbo.clienti cl
,dbo.comanda cm
where cl.id_client = cm.id_client
and cm.data_rezervare != cm.data_sosire
Setul dinamic :
--10. De afisat cat au platiti fiecare client la per fiecare hotel in
care a fost cazat
select cl.nume
,cl.prenume
,h.denumirea
,cm.data_sosire
,cm.zile_rezervate*cm.pret_zi suma
from dbo.clienti cl
,dbo.hotel h
,dbo.comanda cm
where cl.id_client = cm.id_client
and h.id_hotel = cm.id_hotel
Setul dinamic :
select cl.nume
,cl.prenume
,cm.etaj
,cm.nr_camera
,cm.data_rezervare
,cm.data_sosire
,cm.zile_rezervate
,cm.pret_zi
from dbo.clienti cl
,dbo.comanda cm
where cl.id_client = cm.id_client
and cl.nume = ‘Popovici’
and cm.data_sosire between ‘01.01.2020’ and ‘31.12.2020’
Setul dinamic :
--12. De afisat lista clienților care au mai mult de 2 comenzi
efectuate
Setul dinamic :
select p.metoda_plata
,sum(c.zile_rezervate*c.pret_zi) suma
from dbo.comanda c
,dbo.plata p
where c.id_plata = p.id_plata
group by p.metoda_plata
Setul dinamic :
select *
from dbo.hotel h
where id_adresa in
(select id_adresa
from dbo.adrese a
,dbo.localitate l
where a.id_localitate = l.id_localitate
and l.orasul ='Chisinau')
-- 15. Lista tuturor clientilor, si sa se arate cei care au comanda in
orasul Balti
select *
from dbo.clienti c
left join (select c.id_client,h.denumirea
from dbo.comanda c
,dbo.hotel h
,dbo.adrese a
,dbo.localitate l
where c.id_hotel = h.id_hotel
and h.id_adresa = a.id_adresa
and a.id_localitate = l.id_localitate
and l.orasul = ‘Balti’
) d
on c.id_client = d.id_client
select c.nume
,c.prenume
,c.data_nastere
,c.numar_telefon
,c.email
,’fara @gmail.com’ lista
from dbo.clienti c
where c.email not like ‘%gmail.com’
union
select c.nume
,c.prenume
,c.data_nastere
,c.numar_telefon
,c.email
,’<25 ani’ lista
from dbo.clienti c
where datediff(year,c.data_nastere,sysdatetime()) < 25
order by nume,prenume
--17 . Sa se determine operatorul la numarul de telefoane a clientilor
La realizarea acestei lucrări , au fost scrise interogări simple, interogări cu funcții de grup,
interogări cu funcții de lucru asupra tipurilor caracteriale, funcții de lucru cu tipuri date ,
joncțiuni – inner join , left join ,subinterogări.