select imie, nazwisko , kraj from zawodnicy where kraj = 'pol' create view polacy_tl as select imie, nazwisko , kraj from zawodnicy where kraj = 'pol' select * from polacy_tl insert into polacy_tl (imie, nazwisko,kraj) values ('jan','kowalski','pol') select * from zawodnicy drop view polacy_tl with polacy2_tl (imie, nazwisko, kraj) as (select imie, nazwisko, kraj from zawodnicy where kraj ='pol') select * from polacy2_tl declare @napis varchar(50) set @napis = 'pol' --select @napis select imie, nazwisko, @napis from zawodnicy where kraj = @napis declare @tekst varchar(max) set @tekst = '' select @tekst = @tekst+imie from zawodnicy select @tekst -- Wypisz w jednej komórce wszystkie nazwy -- krajów oddzielone spacją, bez powtórzeń declare @kraj varchar(max) set @kraj = '' select @kraj = @kraj + kraj + ' ' from (select distinct kraj from zawodnicy) t select @kraj -- tworzenie własnych funkcji create function dodawanie_tl(@liczbaA int, @liczbaB int) returns int as begin declare @wynik int set @wynik = @liczbaA + @liczbaB return @wynik end select dbo.dodawanie_tl(3,4) select imie, nazwisko, dbo.dodawanie_tl(wzrost,waga) suma from zawodnicy create function bmi_tl(@waga decimal(10,2), @wzrost decimal(10,2)) returns decimal(10,2) as begin declare @wynik decimal(10,2) set @wynik = @waga / POWER(@wzrost/100,2) return @wynik end drop function bmi_tl select imie, nazwisko, dbo.bmi_tl(waga,wzrost) from zawodnicy -- stwórz nową funkcję, która na podstawie zadanego na -- wejsciu id_zawodnika wypisze nazwisko jego trenera go; create function jegoTrener_tl(@id int) returns varchar(255) as begin declare @nazwisko varchar(255) select @nazwisko= nazwisko_t from zawodnicy z join trenerzy t on z.id_trenera=t.id_trenera where id_zawodnika = @id return @nazwisko end go select imie, nazwisko, dbo.jegoTrener_tl(id_zawodnika) from zawodnicy -- napisz funkcje jegoZawodnicy , ktora na wejsciu oczekuje id_trenera i zwraca -- typ varchar(255), który reprezentuje nazwiska jego zawodnikow , oodzielone przecinkiem create function jegoZawodnicy(@id int) returns varchar(max) as begin declare @nazwiska varchar(255) set @nazwiska = '' select @nazwiska=@nazwiska + ', ' + nazwisko from zawodnicy z join trenerzy t on t.id_trenera = z.id_trenera where t.id_trenera = @id return substring(@nazwiska,3,len(@nazwiska)) end drop function jegoZawodnicy select imie_t, nazwisko_t, dbo.jegoZawodnicy(id_trenera) from trenerzy select SUBSTRING('ala ma kota',5,1000) -- pętle declare @i int set @i = 1 while @i < 10 begin --select @i insert into zawodnicy_tl (imie, nazwisko) values ('jan','kowalski'+convert(varchar,@i)) set @i+=1 --@i=@i+1 end select * from zawodnicy_tl -- dla kazdego zawodnika wypisz ile razy startował w zawodach stosujac znaki + -- czyli jezeli zawodnik startowal w zawodach 4 razy to w kolumnie starty -- wypisze ++++ -- jezeli startowal 6 razy to wypisze ++++++ itd.... -- stwórz do tego funkcję o nazwie plusiki, ktora na wejsciu -- otrzymuje id_zawodnika i zwraca tyle plusikow ile trzeba create function plusiki_tl(@id int) returns varchar(max) as begin declare @ileRazyStartowal int select @ileRazyStartowal= count(U.id_zawodow) from zawodnicy z left join uczestnictwa u on z.id_zawodnika = u.id_zawodnika where z.id_zawodnika=@id GROUP BY z.id_zawodnika declare @plusiki varchar(max) set @plusiki = '' declare @i int set @i=0 while @i<@ileRazyStartowal begin set @plusiki+='+' set @i+=1 end return @plusiki end select imie, nazwisko, dbo.plusiki_tl(id_zawodnika) from zawodnicy update zawodnicy set imie = 'x' where id_zawodnika = 1