Materiały z zajęć use Zawodnicy select * from uczestnictwa -- wypisz trenerow i trenowanych przez nich zawodnikow select t.imie_t + ' ' + z.imie from trenerzy t left join zawodnicy z on t.id_trenera = z.id_trenera select z.imie from zawodnicy z -- wypisz w jednej kolumnie wszystkich -- zawodnikow, wraz z nazwami zawodów w jakich startowali select z.imie + ' ' + za.nazwa from zawodnicy z join uczestnictwa u on z.id_zawodnika=u.id_zawodnika join zawody za on za.id_zawodow = u.id_zawodow where z.imie is not null -- wypisz pary zawodnikow, tak, że ostatnia litera imienia pierwszego -- jest taka sama jak pierwsza litera drugiego -- np: Adam - Marcin itd.... select z1.imie , z2.imie from zawodnicy z1 join zawodnicy z2 on RIGHT(z1.imie,1)=LEFT(z2.imie,1) and z1.imie <> z2.imie -- wypisz wszystkich trenerów wraz z nazwami miast, jakie musieli odwiedzić -- w czasie swojej kariery (bo jeździli z zawodnikami na zawody) -- trenerzy--> zawodnicy-->uczestnictwa-->zawody-->skocznie-->miasta select distinct t.imie_t, m.nazwa_miasta from trenerzy t join zawodnicy z on t.id_trenera = z.id_trenera join uczestnictwa u on u.id_zawodnika = z.id_zawodnika join zawody zw on zw.id_zawodow = u.id_zawodow join skocznie s on s.id_skoczni = zw.id_skoczni join miasta m on m.id_miasta = s.id_miasta -- wypisz trenerów, którzy nikogo nie trenują select t.*, z.* from trenerzy t left join zawodnicy z on z.id_trenera = t.id_trenera where z.id_zawodnika is null -- wypisz zawodnikow, ktorzy nie maja trenera -- wypisz nazwy skoczni wraz z zawodnikami z tego samego kraju co skocznia select s.nazwa_skoczni, z.imie from skocznie s join zawodnicy z on s.kraj_skoczni = z.kraj -- wypisz trenerów, którzy mają wcześniej urodziny niż ich podopieczni select t.imie_t , t.data_ur_t, z.imie, z.data_ur from trenerzy t join zawodnicy z on DATEFROMPARTS(2000,month(t.data_ur_t),day(t.data_ur_t)) < DATEFROMPARTS(2000,month(z.data_ur),day(z.data_ur)) and t.id_trenera = z.id_trenera select DATEPART(dy,getdate()) -- wypisac imiona zawodnikow wraz informacją czy jego -- wzrost jest wysoki, sredni czy niski w zaleznosci od tego -- czy jest > 175 lub > 180 select imie, wzrost , iif(wzrost>180,'wysoki', iif(wzrost<=175,'niski','sredni')) typ from zawodnicy select imie, case when wzrost>180 then 'wysoki' when wzrost<=175 then 'niski' else 'sredni' end typ from zawodnicy -- bmi to waga przez wzrost^2 w metrach -- wypisz osoby urodzone później niż w kwietniu select * from zawodnicy where MONTH(data_ur) >= 5 select * from zawodnicy where MONTH(data_ur) > 4 --32 select imie, nazwisko, iif(waga/power(wzrost/100.0,2)>=20,'ok','zle'), waga/power(wzrost/100.0,2) bmi from zawodnicy --33 select imie_t, nazwisko_t, iif(data_ur_t is not null,'znana','nie') , data_ur_t from trenerzy --34 select imie_t, nazwisko_t, iif(data_ur_t is not null,format(data_ur_t,'dd-MM-yyyy'),'nie') , data_ur_t from trenerzy select imie_t, nazwisko_t, coalesce(format(data_ur_t,'dd-MM-yyyy'),'nie') from trenerzy select FORMAT(getdate(),'MMMM dddd', 'pl-pl') select FORMAT(getdate(),'MMMM dddd', 'zh-cn') select FORMAT(GETDATE(),'dd*yy MM \mie\siac') select FORMAT(GETDATE(),'dd*yy MM "miesiac"') --35 select case when kraj = 'pol' then 'pan ' when kraj = 'ger' then 'herr ' when kraj = 'aut' then 'herr ' when kraj = 'usa' then 'mr ' else '' end + imie + ' ' + nazwisko from zawodnicy select case kraj when 'pol' then 'pan ' when 'ger' then 'herr ' when 'aut' then 'herr ' when 'usa' then 'mr ' else '' end + imie + ' ' + nazwisko from zawodnicy --36 select imie, nazwisko, case when DATEPART(dy,data_ur)< DATEPART(dy,GETDATE()) then 'mial' else 'jeszcze nie' end , data_ur from zawodnicy select format(10/3.0,'00.000') select imie, nazwisko, round(waga/power(wzrost/100.0,2),2), format(waga/power(wzrost/100.0,2),'00.00') from zawodnicy select distinct kraj, waga from zawodnicy select kraj, sum(waga),avg(waga), max(wzrost), count(waga),count(id_trenera), COUNT(*) from zawodnicy --where group by kraj --order by select max(wzrost) from zawodnicy -- str 20 cw 37-41 select kraj, max(wzrost) [maksymalny wzrost] from zawodnicy group by kraj select kraj, count(wzrost) from zawodnicy where wzrost > 180 group by kraj select kraj, avg(wzrost) sr from zawodnicy --where group by kraj order by sr select kraj, sum(case when wzrost >180 then 1 else 0 end) wys, sum(iif(wzrost < 175,1,0)) nis from zawodnicy group by kraj select * from zawodnicy