0% found this document useful (0 votes)
57 views21 pages

Oracle

The document contains the code to create 15 tables in Oracle related to various topics like magazines, countries and continents, Olympic games, books in a library, fixed assets, medications, student classes, shareholders, phone subscribers, employees, companies, loans, shareholders, scholarships, and international phone calls. The code includes creating the tables, inserting data, and writing queries to select, update, delete and aggregate data from the tables.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views21 pages

Oracle

The document contains the code to create 15 tables in Oracle related to various topics like magazines, countries and continents, Olympic games, books in a library, fixed assets, medications, student classes, shareholders, phone subscribers, employees, companies, loans, shareholders, scholarships, and international phone calls. The code includes creating the tables, inserting data, and writing queries to select, update, delete and aggregate data from the tables.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 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

You might also like