You are on page 1of 4

Exemple de fraze SQL Exemple de fraze SQL Enunt: Se da o societate comerciala cu profil de activitate repararea de aparatura informatica (servere,

computere personale, imprimante, dispozitive mobile etc). Societatea are in componenta persoane specializate pe domenii. Pentru fiecare reparatie se intocmeste o fisa pe care se inscriu date despre reparatia efectuata. I. Structura tabelelor Pentru a administra activitatea companiei, proiectam urmatoarea baza de date: Angajati Reparatii Clienti id_angajat - autonumber nr_reparatie - autonumber id_client - autonumber nume - text data_reparatie - date denumire - text prenume - text obiect - text adresa - text adresa - text an_fabricatie - number telefon - text telefon - text diagnostic - text e_mail - text data_angajare - date tarif - number website - text specializare - text id_angajat - number observatii - text salariu - numeric id_client - number

II. Operatii creare, modificare tabele i adaugare de inregi trari 1. Sa se realizeze o fraza SQL pentru crearea tabelei An a!ati (mai putin ultimul camp dintre cele enumerate mai sus) CREATE TAB E Angajati !id_angajat C"#$TER %R&'AR( )E(* nume TE+T!,-.* prenume TE+T!,-.* adresa TE+T!/--.* telefon TE+T!0-.* data_angajare 1ATE* specializare TE+T!0-..2 ". Sa se adau e tabelei An a!ati ultimul camp (salariu) A TER TAB E Angajati A11 C" #'$ salariu $#'BER #. Sa se insereze in tabela un an a!at nou cu datele: nume - %opescu prenume - 'arius adresa - 3tr4 Revolutiei nr4/ telefon - -5004554064,, data_angajare - 078-/80--/ salariu - /,-specializare - electronica &$3ERT &$T" Angajati !nume* prenume* adresa* telefon* data_angajare* salariu* specializare. 9A #E3 !:%opescu:* :'arius: * :3tr4 Revolutiei nr4/:* :-5004554064,,:* :-/80780--/:* /,--* :electronica:. III. Interogari ! electii" imple $ pa ina 1 $

Exemple de fraze SQL %. Sa se afiseze numele, prenumele si telefoanele an a!atilor cu salarii mai mari sau e ale cu 1&&&, ordonand alfabetic lista rezultata. 'n lista nu vor aparea an a!atii care nu au telefon. 3E ECT nume* prenume* telefon ;R"' Angajati <=ERE salariu>?/--- A$1 telefon &3 $"T $# "R1ER B( nume A3C (. Sa se selecteze toate datele despre persoanele an a!ate in martie "&&" si au una dintre specializarile )informatica* sau )electronica*. 3E ECT @ ;R"' Angajati <=ERE data_angajare BET<EE$ A-B8-/80--0A !:informatica:* :electronica:. "R1ER B( salariu 1E3C* data_angajare A3C sau 3E ECT @ ;R"' Angajati <=ERE !data_angajare >? AB8/80--0A A$1 data_angajare C? AB8B/80--0A. A$1 specializare &$ !:informatica:* :electronica:. "R1ER B( salariu 1E3C* data_angajare A3C +. Sa se afiseze toate reparatiile efectuate in ultimele 1& zile. 3E ECT @ ;R"' Reparatii <=ERE data_reparatie > 1ate!.-/,. Sa se selecteze numele si prenumele an a!atilor, sa se calculeze vec-imea in munca pentru fiecare an a!at (in ani). 'ntr$un alt camp, calculat si denumit spor.vec-ime, sa se afiseze & daca vec-imea este sub " ani si 1 daca vec-imea este peste " ani. 3E ECT nume* prenume* spor_vecEime ;R"' Angajati I#. Interogari multiple /. Sa se afiseze denumirea si adresa clientilor care au avut de reparat produsul )imprimanta*. 3E ECT 1&3T&$CT denumire* adresa ;R"' Clienti* Reparatii <=ERE Reparatii4id_client ? Clienti4id_client A$1 obiect?:imprimanta: sau 3E ECT 1&3T&$CT denumire* adresa ;R"' Clienti &$$ER F"&$ Reparatii "$ Reparatii4id_client ? Clienti4id_client <=ERE obiect?:imprimanta: 0. Sa se afiseze numele an a!atilor care au realizat reparatii pentru clientul )1illenium 2radin * si datele la care au fost efectuate aceste reparatii. 3E ECT nume* prenume* data_reparatie ;R"' Angajati* Reparatii* Clienti <=ERE Angajati4id_angajat ? Reparatii4id_angajat A$1 Reparatii4id_client ? Clienti4id_client A$1 Clienti4denumire ? :'illenium Trading: sau $ pa ina " $ !1ate!.-data_angajare.8BD, A3 vecEime* &&;!vecEimeC0*-*/. A3 A$1 A-B8B/80--0A A$1 specializare &$

Exemple de fraze SQL 3E ECT nume* prenume* data_reparatie ;R"' !Angajati &$$ER F"&$ Reparatii "$ Angajati4id_angajat ? Reparatii4id_angajat. &$$ER F"&$ Clienti "$ Reparatii4id_client ? Clienti4id_client <=ERE Clienti4denumire ? :'illenium Trading: #. Interogari de electie ce utilizeaza functii de grup 1&. Sa se calculeze costul mediu al unei cate orii de reparatii (medie per calculator, medie per imprimanta, etc). Lista va fi ordonata descrescator dupa cost. 3E ECT obiect* A9G!tarif. as cost_mediu ;R"' Reparatii GR"#% B( obiect "R1ER B( A9G!tarif. 1E3C 11. Sa se calculeze costul mediu al unei cate orii de reparatii, afisandu$se numai acelea pentru care costul mediu depaseste valoarea ,(&. 3bs.: 4lauza 56E7E nu lucreaza cu functii totalizatoare, deci se foloseste clauza 6A8'9:. 3E ECT obiect* A9G!tarif. as cost_mediu ;R"' Reparatii GR"#% B( obiect =A9&$G A9G!tarif.>5,"R1ER B( A9G!tarif. 1E3C 1". Sa se calculeze suma incasata de la fiecare client in anul "&&". 3E ECT denumire* 3#'!tarif. as suma_incasata ;R"' Clienti &$$ER F"&$ Reparatii "$ Clienti4id_client ? Reparatii4id_client <=ERE (ear !data_reparatie.?0--0 GR"#% B( denumire #I. Interogari tip $%IO% 1#. Sa se afiseze toti an a!atii si toti clientii care au domiciliul in 4raiova. 3E ECT nume* adresa ;R"' Angajati <=ERE adresa &)E :@Craiova@: #$&"$ 3E ECT denumire as nume* adresa ;R"' Clienti <=ERE adresa &)E :@Craiova@: #II. Interogari de tergere 1%. Sa se stear a din baza de date an a!atii care au codul 1 sau #. 1E ETE ;R"' Angajati <=ERE id_angajat?/ "R id_angajat?B 1(. Sa se stear a din baza de date an a!atii care au participat la reparatiile cu numerele 1 si #. 1E ETE ;R"' Angajati <=ERE id_angajat &$ !3E ECT id_angajat ;R"' Reparatii <=ERE nr_reparatie?/ "R nr_reparatie?B. $ pa ina # $

Exemple de fraze SQL

#III. Interogari de actualizare !modificare" date 1+. Sa se modifice tariful reparatiilor la 1(&& pentru obiectul )calculator*. #%1ATE Reparatii 3ET tarif?/,-<=ERE obiect?HcalculatorH 1,. Sa se mareasca salariile cu "&; pentru an a!atii veniti in firma inainte de 1 ianuarie "&&". #%1ATE Angajati 3ET salariu ? salariu @/40 <=ERE data_angajareCA/8/80--0A I&. Interogari de tip cro tab

1/. Sa se afiseze cate reparatii a efectuat fiecare an a!at in fiecare an. 9umele an a!atilor se vor afisa pe linii, iar anii pe coloanele tabelului. TRA$3;"R' C"#$T!nr_reparatie. 3E ECT nume ;R"' Angajati &$$ER F"&$ Reparatii "$ Angajati4id_angajat ? Reparatii4id_angajat GR"#% B( nume %&9"T (EAR !data_reparatie. 3 intero are de tip crosstab se realizeaza punand valorile la TRA$3;"R', randurile la 3E ECT, iar coloanele la %&9"T. 'n e<emplu de mai sus, C"#$T!nr_reparatie. reprezinta valorile, nume reprezinta randurile, iar (EAR !data_reparatie. coloanele. &. Alte tipuri de interogari 10. Sa se afiseze clientii care incep cu un sir introdus de la tastatura. 3E ECT denumire* telefon* e_mail ;R"' Clienti <=ERE denumire &)E I&ntroduceti numeleJ K :@: &I. Recomandari 4lauzele &nner Foin* eft Foin* RigEt Foin sunt mai rapide decat clauzelor <Eere. Pe cat posibil, sa se evite utilizarea operatorului $ot. 9u folositi clauza "rder BL pentru o subselectie. Evitati, pe cat posibil, folosirea tabelelor temporale. Pentru &nner Foin, tabelul care are linii mai putine sa fie al doilea =n operatia de compunere. &II. 'ipuri i exemple de relatii ()*: studenti $ orase$de$nastere, orase $ !udete, orase $ tari, facturi$clienti, produse $ cate orii, produse $ firme$producatoare, !ucatori $ tari, !ucatori $ ec-ipe, ec-ipe $ tari *)*: studenti $ e<amene, studenti $ profesori, facturi $ produse, actori $ filme, carti $ abonati

$ pa ina % $

You might also like