/****** Wyswietlenie dzialu kazdej osoby ******/ SELECT [Osoby].*, Dzialy.Nazwa FROM [BazaRelacyjna].[dbo].[Osoby] JOIN [BazaRelacyjna].[dbo].[Dzialy] ON [BazaRelacyjna].[dbo].[Osoby].[IdDzialu] = [BazaRelacyjna].[dbo].[Dzialy].IdDzialu /** Wszystko, liczba urodzonych po 1950 roku w kazdym dziale w ktorym jest wiecej niz 100 osob, posortowane malejaco po liczbie osob **/ SELECT Osoby.IdDzialu, sum(Osoby.IdOsoby) as "Liczba osob w dziale", (SELECT TOP 1 Dzialy.Nazwa FROM [BazaRelacyjna].[dbo].Dzialy WHERE Dzialy.IdDzialu = Osoby.IdDzialu) as "Nazwa dzialu" FROM [BazaRelacyjna].[dbo].[Osoby] WHERE Osoby.RokUrodz > 1950 GROUP BY Osoby.IdDzialu HAVING sum(Osoby.IdOsoby) > 100 ORDER BY sum(Osoby.IdOsoby) desc; /** Ilosc klientow w wojewodztwie z litera 'e' w nazwisku, (tylko tam gdzie jest wiecej niz 5 klientw) posortowane **/ SELECT count(klienci.IdKlienta) AS "Suma klientow", wojewodztwa.Wojewodztwo FROM [BazaRelacyjna].[dbo].[Klienci] klienci JOIN [BazaRelacyjna].[dbo].[Miasta] miasta ON miasta.IdMiasta=klienci.IdMiasta JOIN [BazaRelacyjna].[dbo].[Wojewodztwa] wojewodztwa ON wojewodztwa.IdWojewodztwa=miasta.IdWojewodztwa WHERE klienci.Nazwisko LIKE ('%e%') GROUP BY wojewodztwa.Wojewodztwo HAVING count(klienci.IdKlienta) > 5 ORDER BY count(klienci.IdKlienta) desc; /** Srednia wzrostu (zaokraglone) u pracownikow w kazdym dziale **/ SELECT Osoby.IdDzialu, (SELECT TOP 1 Dzialy.Nazwa FROM [BazaRelacyjna].[dbo].Dzialy WHERE Dzialy.IdDzialu = Osoby.IdDzialu) as "Dzialu", concat(cast(round(avg(Osoby.Wzrost),2) as decimal(16,2)), 'm') as "Srednia wzrostu osob w dziale" FROM [BazaRelacyjna].[dbo].[Osoby] JOIN [BazaRelacyjna].[dbo].[Dzialy] ON [BazaRelacyjna].[dbo].[Osoby].[IdDzialu] = [BazaRelacyjna].[dbo].[Dzialy].IdDzialu GROUP BY Osoby.IdDzialu ORDER BY avg(Osoby.Wzrost) desc;