Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

USE [HotelDb]

SELECT [Nume] + ', ' + [Prenume] AS Angajat, [DataAngajare]


FROM [Angajati]
ORDER BY [DataAngajare] DESC

SELECT COUNT(*)
FROM [Angajati]

SELECT [Nume] + ', ' + [Prenume] AS Client, [DataNastere]


FROM [Clienti]
WHERE DATEDIFF(YEAR, [DataNastere], GETDATE()) >=18
ORDER BY [Nume]

SELECT [Clienti].[Nume], [Clienti].[Prenume]


FROM [Rezervari]
JOIN [Clienti] ON [Clienti].[Id]=[Rezervari].[IdClient]
WHERE [CheckIn] >= '2020-01-01' AND [CheckIn] <= '2020-01-14'
ORDER BY [Clienti].[Nume]

SELECT [Clienti].[Nume], [Clienti].[Prenume]


FROM [Rezervari]
JOIN [Clienti] ON [Clienti].[Id]=[Rezervari].[IdClient]
JOIN [Angajati] ON [Angajati].[Id]=[Rezervari].[IdAngajat]
WHERE [Rezervari].[CheckIn] >= '2020-01-01' AND [Rezervari].[CheckIn] <= '2020-01-31'
AND [Angajati].[Nume]='Popescu' AND [Angajati].[Prenume]='Adela'
ORDER BY [Rezervari].[CheckIn] DESC

SELECT [Rezervari].[Id], [Rezervari].[CheckIn], [Rezervari].[NoptiCazare], [TipRezervare].[Nume]


FROM [Rezervari]
JOIN [TipRezervare] ON [TipRezervare].[Id]=[Rezervari].[IdTipRezervare]
WHERE [CheckIn] >= '2020-01-01' AND [CheckIn] <= '2020-02-28'
ORDER BY [Rezervari].[CheckIn]

SELECT COUNT(Cl.IdClient) AS TotalClienti


FROM(SELECT [Rezervari].[IdClient]
FROM [Rezervari]
JOIN [TipRezervare] ON [TipRezervare].[Id]=[Rezervari].[IdTipRezervare]
WHERE [TipRezervare].[Nume]='Online'
AND [Rezervari].[CheckIn]>='2020-01-01'
AND [Rezervari].[CheckIn]<='2020-03-31'
GROUP BY [Rezervari].[IdClient]) AS Cl

SELECT COUNT(*), [Rezervari].[CheckIn]


FROM [Rezervari]
JOIN [Clienti] ON [Clienti].[Id]=[Rezervari].[IdClient]
JOIN [TipRezervare] ON [TipRezervare].[Id]=[Rezervari].[IdTipRezervare]
WHERE [Rezervari].[CheckIn] >= '2019-01-01' AND [Rezervari].[CheckIn] <= '2019-03-31'
AND [TipRezervare].[Nume]='Online'
GROUP BY [TipRezervare].[Nume], [Rezervari].[CheckIn]
ORDER BY [Rezervari].[CheckIn] DESC

SELECT TOP 5 [Angajati].[Nume] + ', ' + [Angajati].[Prenume] AS Angajat, COUNT(*) AS NumarClienti


FROM [Rezervari]
JOIN [Clienti] ON [Clienti].[Id]=[Rezervari].[IdClient]
JOIN [Angajati] ON [Angajati].[Id]=[Rezervari].[IdAngajat]
GROUP BY [Angajati].[Nume], [Angajati].[Prenume], [DataAngajare]
ORDER BY COUNT(*) DESC

SELECT [Camere].[NumarCamera], COUNT(*) AS NumarClienti


FROM [Rezervari]
JOIN [Clienti] ON [Clienti].[Id]=[Rezervari].[IdClient]
JOIN [Camere] ON [Camere].[Id]=[Rezervari].[IdCamera]
JOIN [TipCamera] ON [Camere].[IdTip]=[TipCamera].[Id]
WHERE [TipCamera].[Nume]='Single'
AND [Rezervari].[CheckIn]>='2020-01-01' AND [Rezervari].[CheckIn] <= '2020-01-31'
GROUP BY [Camere].[NumarCamera], [TipCamera].[Nume]

SELECT AVG(Lunar.Clienti) AS MedieLunara


FROM( SELECT COUNT(*) AS Clienti, MONTH([Rezervari].[CheckIn]) AS Luna
FROM [Rezervari]
JOIN [Camere] ON [Camere].[Id]=[Rezervari].[IdCamera]
JOIN [TipCamera] ON [Camere].[IdTip]=[TipCamera].[Id]
WHERE [TipCamera].[Nume]='Double'
AND YEAR([Rezervari].[CheckIn])=2019
GROUP BY MONTH([Rezervari].[CheckIn])) AS Lunar

SELECT COUNT(*) AS Clienti, MONTH([Rezervari].[CheckIn]) AS Luna


FROM [Rezervari]
JOIN [Camere] ON [Camere].[Id]=[Rezervari].[IdCamera]
JOIN [TipCamera] ON [Camere].[IdTip]=[TipCamera].[Id]
WHERE [TipCamera].[Nume]='Double'
AND YEAR([Rezervari].[CheckIn])=2019
GROUP BY MONTH([Rezervari].[CheckIn])
HAVING COUNT(*) >= (SELECT AVG(Lunar.Clienti) AS MedieLunara
FROM( SELECT COUNT(*) AS Clienti, MONTH([Rezervari].
[CheckIn]) AS Luna
FROM [Rezervari]
JOIN [Camere] ON [Camere].[Id]=[Rezervari].
[IdCamera]
JOIN [TipCamera] ON [Camere].
[IdTip]=[TipCamera].[Id]
WHERE [TipCamera].[Nume]='Double'
AND MONTH([Rezervari].
[CheckIn])=2019
GROUP BY MONTH([Rezervari].[CheckIn])) AS
Lunar)

SELECT AVG(ClientiPerAngajat.Clienti) AS MedieClienti


FROM ( SELECT COUNT([Rezervari].[IdClient]) AS Clienti
FROM [Rezervari]
JOIN [Angajati] ON [Angajati].[Id]=[Rezervari].[IdAngajat]
GROUP BY [Angajati].[Nume], [Angajati].[Prenume]) AS ClientiPerAngajat

SELECT [Angajati].[Nume], [Angajati].[Prenume], COUNT([Rezervari].[IdClient]) AS Clienti


FROM [Rezervari]
JOIN [Angajati] ON [Angajati].[Id]=[Rezervari].[IdAngajat]
GROUP BY Nume, [Angajati].[Prenume]
HAVING COUNT([Rezervari].[IdClient]) >= (SELECT AVG(ClientiPerAngajat.Clienti) AS MedieClienti
FROM ( SELECT COUNT([Rezervari].[IdClient]) AS Clienti
FROM [Rezervari]
JOIN [Angajati] ON [Angajati].[Id]=[Rezervari].[IdAngajat]
GROUP BY [Angajati].[Nume], [Angajati].[Prenume]) AS ClientiPerAngajat)

SELECT [Angajati].[Nume], [Angajati].[Prenume]


FROM [Rezervari]
JOIN [Camere] ON [Camere].[Id]=[Rezervari].[IdCamera]
JOIN [TipCamera] ON [TipCamera].[Id]=[Camere].[IdTip]
JOIN [Angajati] ON [Angajati].[Id]=[Rezervari].[IdAngajat]
WHERE [TipCamera].[Nume]='Matrimoniale'
AND [Rezervari].[CheckIn]>='2019-07-01' AND [Rezervari].[CheckIn]<='2019-07-31'
ORDER BY [Angajati].[Nume] DESC

You might also like