Sunteți pe pagina 1din 2

--BILET 4

--1.Să se scrie comanda SQL pentru afişarea clienţilor care au contractat


produsul cu tipAsigurare = “T1”
select A.numeClient from tClienti as A
inner join tContracte as B on B.codClient = A.codClient
where B.tipAsigurare='T1'
group by numeClient

--2.Să se scrie comanda SQL pentru afişarea numărului de produse contractate


de fiecare client, în ordinea alfabetică a clienţilor

sa moara viata mea daca vad pe undeva produse sau numar in tabelele alea ..
bag pla . sarim peste

--3.Să se scrie comanda SQL pentru afişarea agenţilor care nu au încheiat


contractate de asigurare
select * from tAgenti AS A
where not exists( select * from tContracte as B
where B.codAgent=A.codAgent)

--4. Să se scrie comanda SQL pentru afişarea urmatoarelor informaţii:


numeAgent, NumeClient, nrContract, valoareAsigurata

select A.numeAgent, B.NumeClient, C.nrContract, C.valoareAsigurata


from tAgenti as A
inner join tContracte as C on C.codAgent = A.codAgent
inner join tClienti as B on B.codClient= C.codClient

--5. Să se scrie comanda SQL pentru afişarea urmatoarelor informaţii:


numeAgent, total primaLunara al contractelor încheiate

select A.numeAgent , SUM(B.primaLunara) as [TotalPrimaLunara] from tAgenti as


A
Inner join tContracte as B on B.codAgent = A.codAgent

--6. Să se scrie comanda SQL pentru afişarea urmatoarelor informaţii:


numeAgent, total primaLunara al contractelor încheiate, pentru agenţii care au
acest total mai mare de 5000 lei
select A.numeAgent , SUM(B.primaLunara) as [TotalPrimaLunara] from tAgenti as
A
Inner join tContracte as B on B.codAgent = A.codAgent
where TotalPrimaLunara > 5000

sau

select Intermediara.numeAgent ,Intermediara.TotalPrimaLunara


from (select A.numeAgent , SUM(B.primaLunara) as [TotalPrimaLunara] from
tAgenti as A
Inner join tContracte as B on B.codAgent = A.codAgent ) as
Intermediara
where Intermediara.TotalPrimaLunara > 5000

--7. Să se scrie comanda SQL pentru afişarea clienţilor de acelaşi tipClient


cu al clientului cu codClient = “1001”
select NumeClient from tClienti
where tipClient=(select tipClient from tClienti
codClient ='1001')

--8. Să se scrie comanda SQL pentru crearea tabelei tContracte (cu


constrângeri referitoare la cheia primară şi cheia străină)
CREATE TABLE tContracte(
nrContract int not null identity(1,1) primary key,
tipAsigurare varchar(max),
obiectulAsigurarii varchar(max),
durataAsigurarii varchar(max),
valoareaAsigurata int,
primaLunara int,
codAgent int not null foreign key references tAgenti(codAgent),
codClient int not null foreign key references tClienti(codClient)

)
--9. Să se scrie comanda SQL pentru adaugarea unei inregistrari în tabela
tAgenti

insert into tAgenti values ('milbei','cu-lapte')

--10. Să se scrie comanda SQL pentru suplimentarea cu 10% a valorii asigurate


pentru contractele cu tipAsigurare = ”T1”
update tContracte
set valoareaAsigurata=valoareaAsigurata +valoareaAsigurata*0.1 sau
set valoareAsigurata=valoareAsigurata*1.1
where tipAsigurare='T1'

--11.Să se elaboreze o procedură stocată pentru ştergerea clientului


identificat prin parametrul de intrare CodClient.
create procedure StergeClient(@codClient int)
as
begin
delete from tContracte
where codClient=@codClient
delete from tClienti
where codClient=@codClient
end

S-ar putea să vă placă și