Sei sulla pagina 1di 21

Not: toate subiectele au fost rezolvate n clas i au fost verificate pe iacademy.oracle.

com
(APEX).

1.magazine
create table MAGAZINE (COD_MAG number(3), DENUMIRE varchar2(20), COD_PROD
number(3), CANTITATE number(5), PRET_UNIT number(7));
describe MAGAZINE;
insert into magazine values (23, 'metro', 100, 1000, 12345);
insert into magazine values (44, 'metro', 101, 22, 33);
insert into magazine values (50, 'plus', 500, 1, 12);
insert into magazine values (50, 'plus', 123, 123, 123);
select * from magazine;
select distinct COD_MAG, DENUMIRE from magazine;
select * from magazine where CANTITATE=(select max(CANTITATE) from magazine);

2.tari_si_continente
drop table CONTIN;
create table CONTIN (CONTINENT varchar2(15), TARA varchar2(15), SUPRAFATA
number(10), NR_LOC number(10));
insert into CONTIN values ('Europa', 'Romania', 200000, 23000000);
insert into CONTIN values ('Europa', 'Franta', 400000, 50000000);
insert into CONTIN values ('Europa', 'Spania', 100000, 30000000);
insert into CONTIN values ('Africa', 'Egipt', 450000, 34000000);
insert into CONTIN values ('Africa', 'Tanzania', 1000000, 12300000);
select * from CONTIN;
update CONTIN set NR_LOC=1.1*NR_LOC where TARA=:tara;
select TARA, CONTINENT from CONTIN order by NR_LOC/SUPRAFATA desc;

3.jocuri_olimpice
drop table OLIMP;

create table OLIMP (TARA varchar2(15), SPORT varchar2(15), TIP_MED number(1),


NR_MED number(3));
insert into OLIMP values ('Romania', 'scrima', 1, 1);
insert into OLIMP values ('Romania', 'scrima', 3, 7);
insert into OLIMP values ('USA', 'canotaj', 1, 2);
insert into OLIMP values ('USA', 'box', 2, 4);
insert into OLIMP values ('USA', 'scrima', 2, 1);
insert into OLIMP values ('Anglia', 'atletism', 1, 5);
insert into OLIMP values ('Anglia', 'atletism', 2, 1);
insert into OLIMP values ('Anglia', 'box', 1, 3);
insert into OLIMP values ('Anglia', 'canotaj', 1, 8);
select * from OLIMP;
select TARA, sum(NR_MED) from OLIMP where TIP_MED=1 group by TARA order by
sum(NR_MED) desc;
select TARA from OLIMP group by TARA having count(distinct SPORT)>=3 order by TARA;

4.biblioteca
drop table CARTI;
create table CARTI (COD number(3), TITLU varchar2(20), AUTOR varchar2(20), NR_BUCATI
number(5));
insert into CARTI values (112, 'Poezii', 'M. Eminescu', 7);
insert into CARTI values (133, 'Nuvele', 'M. Eminescu', 8);
insert into CARTI values (500, 'Poezii', 'L. Blaga', 20);
insert into CARTI values (444, 'Filosofie', 'L. Blaga', 100);
select * from CARTI;
select sum(NR_BUCATI) from CARTI;
select TITLU from CARTI where AUTOR=:AUTOR order by TITLU;

5.mfixe
drop table MFIXE;

create table MFIXE (CATEGORIE varchar2(10), DENUMIRE varchar2(15), NR_INV


number(6), DATA_INT date, VAL_INT number(10), VAL_ACT number(10));
insert into MFIXE values ('mabila', 'pat', 1234, to_date('99-12-23','RR-MM-DD'), 2000,
1500);
insert into MFIXE values ('mabila', 'dulap', 44444, to_date('99-12-23','YY-MM-DD'), 2100,
1800);
insert into MFIXE values ('mabila', 'dulap', 121212, '14-JAN-08', 2100, 1800);
insert into MFIXE values ('electr', 'computer', 654, '10-Jun-2000', 1800, 1000);
insert into MFIXE values ('electr', 'comb. frig.', 111, to_date('10 Jun, 2005','dd Mon, yyyy'),
1800, 1000);
select * from MFIXE;
select CATEGORIE, DENUMIRE, NR_INV, to_char(DATA_INT,'rrrr (dd Mon)'), VAL_INT,
VAL_ACT from MFIXE;
select DENUMIRE, NR_INV from MFIXE where VAL_ACT=(select max(VAL_ACT) from
MFIXE);
select CATEGORIE, DENUMIRE, NR_INV, DATA_INT from MFIXE where DATA_INT between
:d_inceput and :d_sfarsit order by NR_INV;

6.medicamente
drop table MEDICAM;
create table MEDICAM (DENUMIRE varchar2(20), UM number(1), PRET number(6), CANT
number(5), DATA_EXP date);
insert into MEDICAM values ('penicilina', 2, 12, 300, to_date('2007, 12 Feb', 'yyyy, dd
Mon'));
insert into MEDICAM values ('aspirina', 1, 11, 1000, to_date('2007, 15 Feb', 'yyyy, dd
Mon'));
insert into MEDICAM values ('paracetamol', 1, 13, 50, to_date('2008, 18 Mar', 'yyyy, dd
Mon'));
insert into MEDICAM values ('comp. sterile', 3, 15, 720, sysdate);
insert into MEDICAM values ('scutece', 3, 23, 33, sysdate-2);
select * from MEDICAM;
select DENUMIRE from MEDICAM where PRET=(select max(PRET) from MEDICAM);

select DENUMIRE, DATA_EXP from MEDICAM where


to_char(DATA_EXP,'yyyy')=to_char(sysdate,'yyyy') and
to_char(DATA_EXP,'mm')=to_char(sysdate,'mm') order by DATA_EXP;

7.statistica_clase
drop table ELEVI;
create table ELEVI (CLASA varchar2(3), DIRIGINTE varchar2(20), NUME varchar2(20),
MEDIA_AN number(5,2));
insert into ELEVI values ('12A', 'Rotaru N.', 'Ionescu M.', 9.50);
insert into ELEVI values ('12A', 'Rotaru N.', 'Vasilescu C.', 5.30);
insert into ELEVI values ('12B', 'Ionica F.', 'Popescu R.', 10);
insert into ELEVI values ('12B', 'Ionica F.', 'Anton P.', 7);
insert into ELEVI values ('12A', 'Rotaru N.', 'Mihailescu A.', 9.99);
insert into ELEVI values ('9A', 'Dunare M.', 'Vasiliu P.', 8);
select * from ELEVI;
select CLASA, NUME from ELEVI order by CLASA, NUME;
select count(distinct DIRIGINTE) from ELEVI;

8.evidenta_actionari
drop table ACTIONAR;
create table ACTIONAR (NR_REG number(5), NUME varchar2(20), ADRESA varchar2(20),
SERIA_IN number(8), SERIA_SF number(8), CONSTRAINT ACTIONAR_pk PRIMARY KEY
(NR_REG));
describe ACTIONAR;
insert into ACTIONAR values (123, 'Ionescu V.', 'Rozelor, 34', 1000, 1200);
insert into ACTIONAR values (124, 'Popescu V.', 'Stefan cel Mare, 32', 200000, 300000);
insert into ACTIONAR values (100, 'Vasilescu A.', 'Ulmilor, 20', 1, 300);
select * from ACTIONAR;
select NUME from ACTIONAR order by NUME;
select NUME from ACTIONAR where SERIA_SF-SERIA_IN+1=(select max(SERIA_SFSERIA_IN+1) from ACTIONAR);

9.abonati_telefonici
drop table ABONATI;
create table ABONATI (NUME varchar2(20), ADRESA varchar2(20), TELEFON number(10),
NR_IMPULS number(6));
insert into ABONATI values ('Ionescu M.', 'Victoriei, 33', 233771122, 123);
insert into ABONATI values ('Popescu M.', 'Stefan cel Mare, 101', 2337123123, 1182);
insert into ABONATI values ('Vasilescu D.', 'Stefan cel Mare, 12', 233243243, 4);
select * from ABONATI;
select NUME, TELEFON from ABONATI order by NUME;
select NUME, TELEFON, (NR_IMPULS-:nrImpulsuriGratuite)*:valoareImpuls as total_plata
from ABONATI order by NUME;

10.personal
drop table PERSONAL;
create table PERSONAL (NUME varchar2(20), CNP number(13),SEX varchar2(1), NAT
number(1), NAVETIST number(1));
insert into PERSONAL values ('Ionescu H.', 1661203112233, 'M', 1, 1);
insert into PERSONAL values ('Popescu I.', 2761113122238, 'F', 3, 0);
insert into PERSONAL values ('Obama A.', 1600120122240, 'M', 2, 0);
insert into PERSONAL values ('Gates B.', 1560721123346, 'M', 4, 1);
insert into PERSONAL values ('Mao Ze D.', 1300713123349, 'M', 5, 0);
insert into PERSONAL values ('Vasilescu D.', 2801203112277, 'F', 1, 0);
insert into PERSONAL values ('Andries P.', 2831222112254, 'F', 1, 1);
select * from PERSONAL;
select count(*) from PERSONAL where NAVETIST=1 and NAT=:nationalitate;
select NUME, CNP from PERSONAL order by NUME;

11.Firme
create table FIRME (NRREGCOM varchar2(20), DENUMIRE varchar2(20), LOCALITATE
varchar2(20), TIP number(1), ADRESA varchar2(20));
insert into FIRME values ('1234567', 'Altex', 'Piatra Neamt', 2, 'str. Plopilor, nr. 4');

insert into FIRME values ('002233', 'Apa Serv', 'Piatra Neamt', 1, 'str. Stefan cel Mare');
insert into FIRME values ('76', 'Pamgaz', 'Piatra Neamt', 2, 'str. Mihai Eminescu');
insert into FIRME values ('334400', 'Sidex', 'Galati', 2, 'b-dul Muncii, nr. 3');
select * from FIRME;
select DENUMIRE, NRREGCOM from FIRME order by DENUMIRE;
select count(*) as "Numarul firmelor de stat" from FIRME where TIP=1;
select count(*) as "Numarul firmelor private" from FIRME where TIP=2;

12.credite
drop table CREDITE;
create table CREDITE (NUME varchar2(20), DATA_C date, PERIOADA number(3), SUMA
number(7));
insert into CREDITE values ('Ionescu H.', sysdate-700, 13, 120000);
insert into CREDITE values ('Vasilescu D.', to_date('23.07.2005','dd.mm.yyyy'), 120,
9900000);
insert into CREDITE values ('Vasilescu D.', to_date('99.10.29','rr.mm.dd'), 240, 9900000);
insert into CREDITE values ('Marian J.', to_date('2008/12/10','rrrr/mm/dd'), 6, 1000);
select NUME, DATA_C from CREDITE where add_months(DATA_C,PERIOADA)<sysdate;
select * from CREDITE where DATA_C between :data_inceput and :data_sfarsit;

13.evidenta_actionari
drop table ACTIONAR;
create table ACTIONAR (NR_REG number(5), SOCIETATE varchar2(20), JUDET
varchar2(15), NUMEPREN varchar2(20), NR_ACT number(8));
insert into ACTIONAR values (1234, 'Elixir', 'Neamt', 'Ion Ion', 1200);
insert into ACTIONAR values (333, 'Elixir', 'Neamt', 'Vasilescu D.', 300);
insert into ACTIONAR values (55, 'EMag', 'Bucuresti', 'Popescu V.', 3437);
insert into ACTIONAR values (212, 'Altex', 'Neamt', 'Popescu V.', 34567);
select * from ACTIONAR;
select NUMEPREN, SOCIETATE, JUDET from ACTIONAR order by JUDET, NUMEPREN;

select distinct SOCIETATE from ACTIONAR where JUDET=:judet;

14.burse
drop table BURSE;
create table BURSE (NUME varchar2(20), CLASA varchar2(5), DATA_NAS date, SUMA
number(6), BURSIER number(1));
//1 pentru adevarat si 0 pentru fals
insert into BURSE values ('Popescu G.', '12A', to_date('13-08-1989','dd-mm-yyyy'), 120, 1);
insert into BURSE values ('Ionescu G.', '11B', to_date('23-09-1990','dd-mm-yyyy'), 180, 1);
insert into BURSE values ('Vasilescu I.', '9B', to_date('07-01-1992','dd-mm-yyyy'), 0, 0);
insert into BURSE values ('Mihai I.', '9B', to_date('20-08-1992','dd-mm-yyyy'), 120, 1);
insert into BURSE values ('Mircea I.', '12A', to_date('20-05-1990','dd-mm-yyyy'), 180, 1);
select * from BURSE;
select NUME, case when BURSIER=1 then ' este bursier ('||to_char(SUMA)||')' else ' nu este
bursier' end as info from BURSE where NUME=:nume;

15.convorbiri_telefonice_internationale
drop table ALO;
create table ALO (NUMEPRE varchar2(20), DURATA number(3), TARA varchar2(15), cost
number(5));
insert into ALO values ('Ionescu P.', 12, 'Romania', 243);
insert into ALO values ('Ionescu P.', 2, 'USA', 43);
insert into ALO values ('Vasilescu I.', 32, 'Bulgaria', 13);
insert into ALO values ('Ionescu P.', 120, 'Bulgaria', 99);
insert into ALO values ('Popescu G.', 72, 'USA', 1452);
select * from ALO;
select distinct NUMEPRE from ALO order by NUMEPRE;
select distinct TARA from ALO order by TARA;

16.conturi_internet
drop table USERI;

create table USERI (NUMEPRE varchar2(20), CLASA varchar2(3), DATA_NAS date, CONT
varchar2(8));
insert into USERI values ('Voican H.', '12B', to_date('23/05/1990','dd/mm/yyyy'),
'h.voican');
insert into USERI values ('Pop V.', '12C', to_date('13/07/1989','dd/mm/yyyy'), 'v.pop');
insert into USERI values ('Ion I.', '11C', to_date('21/12/1991','dd/mm/yyyy'), 'i.ion');
insert into USERI values ('Vaida D.', '12C', to_date('22/07/1990','dd/mm/yyyy'), 'd.vaida');
insert into USERI values ('Micu V.', '5B', to_date('29/08/1996','dd/mm/yyyy'), 'v.micu');
select * from USERI;
select CONT, NUMEPRE, CLASA, DATA_NAS from USERI order by CONT;
select CONT, NUMEPRE, CLASA, DATA_NAS from USERI where
months_between(sysdate,DATA_NAS)>=17*12 order by CONT;

17.absente_elevi
drop table ELEVI;
create table ELEVI (NUMEPRE varchar2(20), CLASA varchar2(3), ABS_MOT number(3),
ABS_NEMOT number(3));
insert into ELEVI values ('Ionescu C.', '12C', 120, 3);
insert into ELEVI values ('Popescu V.', '12C', 0, 0);
insert into ELEVI values ('Vaida H.', '10A', 0, 23);
insert into ELEVI values ('Mihnea D.', '12A', 4, 5);
insert into ELEVI values ('Iosub C.', '10A', 45, 12);
select * from ELEVI;
select NUMEPRE, CLASA from ELEVI order by CLASA, NUMEPRE;
select CLASA as "Clasa", sum(ABS_MOT) as "Absente motivate / clasa", sum(ABS_NEMOT)
as "Absente nemotivate / clasa", sum(ABS_MOT+ABS_NEMOT) as "Total absenta / clasa"
from ELEVI group by CLASA order by CLASA;

18.carti
drop table CARTI;
create table CARTI (TITLU varchar2(20), AUTOR varchar2(20), EDITURA varchar2(20), PRET
number(6));

insert into CARTI values ('Poezii', 'Eminescu M.', 'Flacara', 23);


insert into CARTI values ('Proza', 'Eminescu M.', 'Teora', 100);
insert into CARTI values ('Fabule', 'La Fontaine', 'Teora', 104);
insert into CARTI values ('Baltagul', 'Sadoveanu M.', 'Gil', 20);
insert into CARTI values ('Proza', 'Eminescu M.', 'Gil', 99);
select * from CARTI;
select distinct TITLU, AUTOR from CARTI order by AUTOR, TITLU;
select distinct TITLU, AUTOR, EDITURA, PRET from CARTI where PRET=(select max(PRET)
from CARTI);

19.olimpiade_scolare
drop table elevi;
create table ELEVI (NRM number(3), NUME varchar2(15), CLASA varchar2(3), MATERIE
varchar2(10), DIRIGINTE varchar2(20));
insert into ELEVI values (123, 'Ionescu G.', '12A', 'Info', 'Rotaru N.');
insert into ELEVI values (222, 'Popescu G.', '12A', 'Mate', 'Rotaru N.');
insert into ELEVI values (556, 'Gavril H.', '12C', 'Mate', 'Ionescu D.');
insert into ELEVI values (556, 'Gavril H.', '12C', 'Rom', 'Ionescu D.');
insert into ELEVI values (552, 'Mircea H.', '9A', 'Fiz', 'Popa T.');
select * from ELEVI;
select NUME, CLASA from ELEVI where MATERIE=:MATERIE;
select count(*) "Numr olimpiade" from ELEVI where NUME=:NUME;

20.reviste
drop table ABONATI;
create table ABONATI(CODA number(3),NUME varchar2(15),ADRESA varchar2(20),CODR
number(3), TITLU
varchar2(20),PRETU number(9));
insert into ABONATI values (120, 'Popescu I.','Aleea Teilor,13',345,'Flacara',15);
insert into ABONATI values (120, 'Popescu I.','Aleea Teilor,13',678,'Convorbiri literare',20);
insert into ABONATI values (230, 'Georgescu I.','Aleea Caisilor,10',678,'Convorbiri
literare',20);

insert into ABONATI values (345, 'Vasile I.','Aleea Caisilor,24',789,'Arborele lumii',25);


select * from ABONATI;
delect TITLU from ABONATI where PRETU=(select min(PRETU) from ABONATI);
update ABONATI set PRETU=:PRET where CODR=:COD;

21.cinema
drop table CINEMA;
create table CINEMA(CINEMA varchar2(15), FILM varchar2(25), NRSPECT number(4),
PRETBILET number(6));
insert into CINEMA values('Pietricica', 'Twilight', 10, 10);
insert into CINEMA values('Pietricica', 'Un socru de cosmar', 7, 5);
insert into CINEMA values('Cozla', 'Twilight', 12, 8);
insert into CINEMA values('Cozla', 'Showtime', 15, 8);
select * from CINEMA;
select FILM from CINEMA where CINEMA=:cinema;
select max(PRETBILET), min(PRETBILET) from CINEMA;

22.expozitie_canina
drop table CAINI;
create table CAINI (NUMEC varchar2(15),RASA varchar2(15),PREMIU number(1),CI
varchar2(8),NUME varchar2(15),JUDET varchar2(2));
insert into CAINI values('Nero', 'pitbull', 1, 'NT222444', 'Popescu', 'NT');
insert into CAINI values('Bobita', 'pitbull', 2, 'NT222555', 'Ionescu', 'NT');
insert into CAINI values('Rocky', 'ciobanesc', 1, 'NT222444', 'Popescu', 'NT');
insert into CAINI values('Mario', 'labrador', 3, 'BC111111', 'Vasile', 'BC');
select* from CAINI;
select NUMEC, NUME from CAINI where PREMIU=1 order by NUMEC;
select count(NUMEC) as "numar caini", JUDET from CAINI group by JUDET;

23.vacante
drop table agentie;

create table agentie(statiune varchar(15),tipc varchar2(10),nume varchar2(15),nrloc


number(4),pretu number(8));
insert into agentie values('Durau','hotel','Bradul',200,140);
insert into agentie values('Durau','hotel','Nova',130,100);
insert into agentie values('Durau','vila','Poiana',20,50);
insert into agentie values('Dorna','hotel','Vatra',90,80);
select * from agentie;
select statiune, tipc, sum (nrloc) from agentie group by statiune, tipc order by statiune,
tipc;
select statiune,sum(nrloc) from agentie group by statiune order by statiune;

24.top_muzical
drop table pers;
create table pers(nume varchar2(15), formatie varchar2(15), impresar varchar2 (15), nrpct
number(4), gen varchar2(15));
insert into pers values('ionescu i.','metallica', 'vasilescu', 100, 'rock');
insert into pers values('popescu d.','metallica', 'vasilescu', 123, 'rock');
insert into pers values('ionescu i.','fara zahar', 'vasilescu', 10, 'pop');
insert into pers values('mihai p.','planeta moldova', 'davidescu', 137, 'pop');
insert into pers values('ionescu i.','planeta moldova', 'davidescu', 137, 'pop');
select * from pers;
select count(distinct impresar) from pers;
select formatie, sum(nrpct) from pers group by formatie order by sum(nrpct)desc;

25.statistica_elevi
drop table elevi;
create table elevi(nume varchar2(20), clasa number(2), corigent number(1), gen
varchar2(1), medie number(5,2));
insert into elevi values ('popescu i.', 10, 0, 'b', 8.30 );
insert into elevi values ('ionescu d.', 9, 1, 'f', 5.67 );
insert into elevi values ('ion i.', 11, 1, 'b', 7.20 );

insert into elevi values ('mancas o.', 12, 1, 'f', 6.23 );


insert into elevi values ('simionescu i.', 10, 0, 'f', 5.00 );
insert into elevi values ('davidescu m.', 12, 0, 'b', 6.02 );
insert into elevi values ('mahailescu a.', 12, 1, 'b', 6.02 );
select * from elevi;
select count(*), clasa from elevi where corigent=1 group by clasa;
select nume from elevi where gen='f' and medie=(select max(medie) from elevi where
gen='f');

26.alegeri_in_scoala
drop table consiliu;
create table consiliu (profesor varchar2(20), catedra varchar2(20), vechime number(2),
prezent number(1));
insert into consiliu values ('Ionescu G.', 'Matematica', 10,0);
insert into consiliu values ('Popescu I.', 'Matematica', 20,1);
insert into consiliu values ('Irimia V.', 'Matematica', 15,1);
insert into consiliu values ('Preda G.', 'Geografie', 2,1);
insert into consiliu values ('Vasilescu F.', 'Geografie', 3,0);
select * from consiliu;
select catedra, profesor from consiliu where prezent=1 order by catedra, profesor;
select profesor from consiliu where vechime=(select min(vechime) from consiliu);
select profesor from consiliu where vechime=(select max(vechime) from consiliu);

27.restaurant
drop table restaurant;
create table restaurant (masa number(2), CHELNER varchar2(20),NR_LOC
number(2),NR_pers number(2),CHITANTA number(6),VALOARE number(10,2));
insert into restaurant values (1,'popescu',6,3,76,100.33);
insert into restaurant values (2,'popescu',6,4,79,123.66);
insert into restaurant values (3,'vasilescu',12,6,12,433.43);

insert into restaurant values (7,'popescu',4,3,34,23);


insert into restaurant values (4,'popescu',3,3,100,156.33);
insert into restaurant values (6,'vasilescu',6,6,87,120.08);
insert into restaurant values (5,'popescu',4,4,10,100);
select* from restaurant;
select masa, chelner from restaurant where nr_loc=nr_pers;
select nr_pers, chelner, CHITANTA from restaurant where chelner=:chelner and
valoare=(select min(VALOARE) from restaurant where chelner=:chelner);

28.peco
drop table peco;
create table peco (nr_statie number(2),tip_carb varchar2(20),cantit number(6,2),pret_u
number(5,2),valoare number(8,2));
insert into peco(nr_statie,tip_carb,cantit,pret_u) values(4,'motorina',50,2.5);
insert into peco(nr_statie,tip_carb,cantit,pret_u) values(2,'motorina',160,3.4);
insert into peco(nr_statie,tip_carb,cantit,pret_u) values(1,'benzinaFP',75,2.9);
insert into peco(nr_statie,tip_carb,cantit,pret_u) values(3,'motorina',30,2.2);
insert into peco(nr_statie,tip_carb,cantit,pret_u) values(5,'benzina',100,3);
select * from peco;
update peco set valoare=pret_u*cantit;
select nr_statie from peco WHERE tip_carb='motorina';
select nr_statie from peco where tip_carb=:carburant and cantit=(select max(cantit) from
peco where tip_carb=:carburant);

29.taxi
drop table taxi;
create table taxi (cod varchar2(3), numar varchar2(9),sofer varchar2(20), km_i
number(10,2), km_e number(10,2), pret_u number(3,2), valoare number(8,2));
insert into taxi(cod,numar,sofer,km_i,km_e,pret_u) values('101', 'NT-01-AUD', 'Ionescu
Costel', 4500.50 , 4512.50 , 2.20);

insert into taxi(cod,numar,sofer,km_i,km_e,pret_u) values('103', 'NT-01-PRO', 'Matache G.',


45200.50 , 45212.50 , 2.20);
insert into taxi(cod,numar,sofer,km_i,km_e,pret_u) values('106', 'NT-03-ROL', 'Ionescu
Costel', 100.50 , 200.50 , 3.00);
insert into taxi(cod,numar,sofer,km_i,pret_u) values('101', 'NT-01-AUD', 'Ionescu Costel',
5000.50 , 2.20);
insert into taxi(cod,numar,sofer,km_i,pret_u) values('103', 'NT-01-PRO', 'Matache G.',
7000.60 , 2.20);
select * from taxi;
select COD from TAXI where KM_E is null;
select SOFER, NUMAR from TAXI where KM_E is not null and KM_E-KM_I=(select
min(KM_E-KM_I) from TAXI where KM_E is not null);

30.fructe
drop table fructe;
create table fructe (COD varchar2(4), NUME varchar2(10), CANTIT number(4),FURNIZOR
varchar2(15), DATA_A date, PRET_U number(3,2), VALOARE number(8,2));
insert into fructe (COD, NUME, CANTIT, FURNIZOR, DATA_A, PRET_U) values('m123',
'mere', 100, 'Interamal', to_date('12.03.2009','dd.mm.yyyy'),1.9);
insert into fructe (COD, NUME, CANTIT, FURNIZOR, DATA_A, PRET_U) values('bm35',
'banane', 150, 'Interamal', to_date('11.03.2009','dd.mm.yyyy'),3.2);
insert into fructe (COD, NUME, CANTIT, FURNIZOR, DATA_A, PRET_U) values('mmmm',
'mere', 200, 'Chiquita', to_date('13.03.2009','dd.mm.yyyy'),2.2);
insert into fructe (COD, NUME, CANTIT, FURNIZOR, DATA_A, PRET_U) values('a123', 'pere',
100, 'Interamal', to_date('1.03.2009','dd.mm.yyyy'),3.9);
select * from fructe;
update fructe set valoare=cantit*pret_u;
select cod, nume from fructe where sysdate-data_a>7;
select furnizor from fructe where nume=:nume_fruct and pret_u=(select min(pret_u) from
fructe where nume=:nume_fruct);

31.angajati
drop table angajati;

create table angajati (CNP varchar2(14), nume varchar2(20), data_angaj date, data_nast
date);
insert into angajati values ('1900324245643', 'Ionescu Iulian', to_date('13.02.2008',
'dd.mm.yyyy'), to_date('24.03.1990', 'dd.mm.yyyy'));
insert into angajati values ('1870524245643', 'Ionescu Iulia', to_date('13.02.2009',
'dd.mm.yyyy'), to_date('24.05.1987', 'dd.mm.yyyy'));
insert into angajati values ('1570524245643', 'Ion Ion', to_date('13.02.1990',
'dd.mm.yyyy'), to_date('24.05.1957', 'dd.mm.yyyy'));
select * from angajati;
select nume from angajati where months_between(sysdate, data_angaj)>120;
select nume from angajati where months_between(sysdate, data_nast)>50*12;

32.bilete
drop table bilete;
create table bilete(nr_bilet number(4),destinatie varchar2(20), nr_vagon number(2), nr_loc
number(3), pret number(6,2));
insert into bilete values(29,'bacau',4,276,10);
insert into bilete values(40,'piatra neamt',2,100,15);
insert into bilete values(2,'suceava',1,28,17);
insert into bilete values(30,'bacau',4,277,10);
insert into bilete values(41,'piatra neamt',3,101,15);
select * from bilete;
select SUM(PRET) from BILETE;
select COUNT(*)from BILETE where DESTINATIE=:X;

33.casete
drop table CASETE;
create table CASETE (COD_CASETA number(4), NUME_FILM varchar2(20), ACTOR_PRIN
varchar2(20), GEN_FILM varchar2(10));
insert into CASETE values (1,'PREATY WOMEN','RICHARD GERE','DRAMA');
insert into CASETE values (1,'PREATY WOMEN','JULIA ROBERTS','DRAMA');

insert into CASETE values (2,'SAW','ADAM SANDLER','HORROR');


insert into CASETE values (3,'MIHAI VITEAZUL','SERGIU NICOLAESCU','ISTORIC');
select * from CASETE;
delete from CASETE where GEN_FILM='HORROR';
select nume_film from casete where actor_prin='RICHARD GERE';

34.muncitori
drop table muncitor;
create table muncitor(nume_munc varchar2(20), codatelier number(2), numarpiese
number(5));
insert into muncitor values('ionescu p.', 15, 150);
insert into muncitor values('ionescu g.', 10, 150);
insert into muncitor values('georgescu v.', 10, 100);
select * from muncitor;
select count(distinct codatelier) as "numar ateliere" from muncitor ;
select nume_munc from muncitor where numarpiese=(select max(numarpiese) from
muncitor);

35.consultatii
drop table CONSULTATII;
create table CONSULTATII (NUME_MEDIC varchar2(15), NUME_PAC varchar2(15),
DIAGNOSTIC varchar2(20), DATA_CONS date);
insert into CONSULTATII values ('Ionescu V.', 'Vasile E.', 'fractura femur', sysdate);
insert into CONSULTATII values ('Ionescu V.', 'Mihai G.', 'entorsa glezna', sysdate-3);
insert into CONSULTATII values ('Ionescu V.', 'Mihai G.', 'entorsa umar', sysdate-5);
insert into CONSULTATII values ('Ionescu V.', 'Popescu H.', 'entorsa glezna', sysdate-60);
insert into CONSULTATII values ('Gavrilescu D.', 'Vasile E.', 'amigdalita', sysdate-4);
insert into CONSULTATII values ('Gavrilescu D.', 'Dan E.', 'bronsita', sysdate-90);
select * from CONSULTATII;
select count(distinct NUME_PAC) from CONSULTATII where to_char(sysdate,'rrrrmm')=to_char(DATA_CONS,'rrrr-mm') and NUME_MEDIC=:NUME_MEDIC;

select distinct NUME_PAC from CONSULTATII where to_char(sysdate,'rrrrmm')=to_char(DATA_CONS,'rrrr-mm');

36.materiale
drop table materiale;
create table materiale(cod_mat varchar2(15),pret number(8), stoc
number(6),necesar number(6));
insert into materiale values('1234', 120, 100, 50);
insert into materiale values('1122', 100, 100, 150);
insert into materiale values('2222', 90, 150, 150);
insert into materiale values('4321', 160, 50, 200);
insert into materiale values('1891', 190, 200, 500);
insert into materiale values('6667', 200, 50, 130);
insert into materiale values('33FGH', 5, 5, 130);
select * from materiale;
select cod_mat, stoc, necesar from materiale where stoc<necesar;
select cod_mat, stoc, necesar from materiale where stoc<5/100*necesar;

37.vama
drop table vama;
create table VAMA (NR_AUTOM varchar2(15), COND_AUTO varchar2(15), NR_PERS
number(2), DATA_TREC date, TIP varchar2(1));
insert into vama values ('NT-34-RET', 'Ionescu P.', 4, to_date('03.03.2009',
'dd.mm.yyyy'), 'I');
insert into vama values ('NT-34-RET', 'Ionescu P.', 5, to_date('17.03.2009',
'dd.mm.yyyy'), 'E');
insert into vama values ('NT-35-TTE', 'Popescu P.', 3, to_date('23.08.2008',
'dd.mm.yyyy'), 'I');
insert into vama values ('NT-22-VXD', 'Vasile D.', 3, to_date('23.08.2008',
'dd.mm.yyyy'), 'I');

insert into vama values ('NT-22-VXD', 'Mihai F.', 3, to_date('23.08.2008',


'dd.mm.yyyy'), 'E');
select * from vama;
select COND_AUTO from vama where TIP='E' and
to_char(sysdate,'yyyy')=to_char(DATA_TREC,'yyyy');
select sum(NR_PERS), to_char(DATA_TREC,'mm') from vama group by
to_char(DATA_TREC,'mm');

38.calorii
drop table CALORII;
create table CALORII (CODALIMENT varchar2(4), DENUMIRE varchar2(15),
NR_CALORII number(6), CATEGORIE varchar2(10));
insert into CALORII values ('1', 'mar', 23, 'FRUCTE');
insert into CALORII values ('22', 'pruna', 40, 'FRUCTE');
insert into CALORII values ('132', 'portocala', 10, 'FRUCTE');
insert into CALORII values ('33', 'grau', 50, 'CEREALE');
insert into CALORII values ('3', 'porumb', 30, 'CEREALE');
select * from CALORII;
select DENUMIRE, NR_CALORII from CALORII order by NR_CALORII;
select DENUMIRE from CALORII where NR_CALORII=:x;

39.autoturisme
drop table AUTOTURISME;
create table AUTOTURISME (MARCA varchar2(15), PROPRIETAR varchar2(15),
CAP_CILIND number(4), CONS_MEDIU number(5,2));
insert into AUTOTURISME values ('BMW', 'Ionescu L.', 2000, 5.6);
insert into AUTOTURISME values ('Dacia Logan', 'Popescu D.', 2500, 7.63);
insert into AUTOTURISME values ('Dacia Logan', 'Vasilescu A.', 1800, 4.5);
insert into AUTOTURISME values ('Opel', 'Vasilescu A.', 2100, 7);
insert into AUTOTURISME values ('Opel', 'Mihai F.', 1600, 4.99);

select * from AUTOTURISME;


select distinct PROPRIETAR from AUTOTURISME where CONS_MEDIU<6.1;
select distinct MARCA, PROPRIETAR from AUTOTURISME where CAP_CILIND=(select
max(CAP_CILIND) from AUTOTURISME);

40.inchirieri_ateveuri
drop table ATV;
create table ATV (NR_ATV varchar2(10), CLIENT varchar2(15), DATA_INC date,
PRET_INC number(5));
insert into ATV values ('NT-23-HGJ', 'Ionescu P.', to_date('23.09.2009','dd.mm.rrrr'),
10);
insert into ATV values ('NT-23-ABC', 'Popescu V.', to_date('23.09.2009','dd.mm.rrrr'),
9);
insert into ATV values ('BC-01-ABC', 'Popescu V.', to_date('21.09.2009','dd.mm.rrrr'),
11);
insert into ATV values ('BC-01-ABC', 'Popescu H.', to_date('21.03.2009','dd.mm.rrrr'),
3);
insert into ATV values ('BC-01-ABC', 'Vasile H.', to_date('08.04.2009','dd.mm.rrrr'),
3);
insert into ATV values ('BC-01-ABC', 'Popescu V.', to_date('24.09.2008','dd.mm.rrrr'),
11);
select * from ATV;
select CLIENT from ATV where months_between(sysdate,DATA_INC)<=1 and
months_between(sysdate,DATA_INC)>=0;
select count(*) from ATV where
to_char(sysdate,yyyy.mm)=to_char(DATA_INC,yyyy.mm);

1.magazine................................................................................................................. 1
2.tari_si_continente.................................................................................................... 1
3.jocuri_olimpice......................................................................................................... 1
4.biblioteca................................................................................................................. 2
5.mfixe....................................................................................................................... 2
6.medicamente.......................................................................................................... 3
7.statistica_clase........................................................................................................ 4
8.evidenta_actionari................................................................................................... 4
9.abonati_telefonici.................................................................................................... 5
10.personal................................................................................................................. 5
11.Firme..................................................................................................................... 5
12.credite................................................................................................................... 6
13.evidenta_actionari................................................................................................. 6
14.burse..................................................................................................................... 7
15.convorbiri_telefonice_internationale......................................................................7
16.conturi_internet..................................................................................................... 8
17.absente_elevi........................................................................................................ 8
18.carti....................................................................................................................... 9
19.olimpiade_scolare.................................................................................................. 9
20.reviste................................................................................................................... 9
21.cinema................................................................................................................. 10
22.expozitie_canina.................................................................................................. 10
23.vacante............................................................................................................... 11
24.top_muzical......................................................................................................... 11
25.statistica_elevi..................................................................................................... 12
26.alegeri_in_scoala................................................................................................. 12

27.restaurant............................................................................................................ 13
28.peco.................................................................................................................... 13
29.taxi...................................................................................................................... 14
30.fructe................................................................................................................... 14
31.angajati............................................................................................................... 15
32.bilete................................................................................................................... 15
33.casete.................................................................................................................. 16
34.muncitori............................................................................................................. 16
35.consultatii............................................................................................................ 16
36.materiale............................................................................................................. 17
37.vama................................................................................................................... 17
38.calorii................................................................................................................... 18
39.autoturisme......................................................................................................... 18
40.inchirieri_ateveuri................................................................................................ 19

Potrebbero piacerti anche