Naudingos nuorodos:

 
Dėstytoja J.Stankevič L604    jelsta@gama.vtu.lt

 

 
 

 

 


DUOMENŲ BAZIŲ VALDYMAS 1

 

1 atsiskaitymas:

1 Skyrius: Įvadas į SQL

  1. Atlikite užklausą visai informacijai iš SALGRADE lentelės gauti.
  2. Atlikite užklausą visai informacijai iš EMP lentelės gauti.
  3. Pateikite darbuotojų, gaunančių atlyginimą nuo 1600 iki 3000, sąrašą (pavardę, skyriaus numerį, atlyginimą).
  4. Pateikite skyrių numerių ir pavadinimų sąrašą, surūšiuotą pagal skyriaus pavadinimą abėcėlės tvarka.
  5. Parodykite visas skirtingas pareigas. Surūšiuokite jas atbuline abėcėlei tvarka.
  6. Pateikite 10-o ir 30-o skyrių darbuotojų sąrašą, surūšiuotą pagal darbuotojo vardą abėcėlės tvarka (darbuotojo numerį, pavardę, pareigas, viršininko numerį, priėmimo į darbą datą, atlyginimą, komisinius, skyriaus numerį).
  7. Pateikite visų pardavėjų (Salesman), kurių mėnesinis atlyginimas yra didesnis už komisinius, vardą, metinį atlyginimą ir komisinius. Išveskite šia informaciją į ekraną, rūšiuodami pagal atlyginimo dydį, pradėdami nuo didžiausio.
  8. Pateikite duomenis tokia tvarka:

 

SMITH has held the position of CLERK in department 20 since 13-JUN-83

 

  1. Pateikite tarnautojų (CLERK), dirbančių 20-ame skyriuje, pavardes ir pareigas.
  2. Pateikite darbuotojų pavardes, kuriuose yra raidės TH arba LL.
  3. Pateikite informaciją apie darbuotojus (pavardę, pareigas, viršininko numerį, atlyginimą), kurie turi vadovą.
  4. Pateikite darbuotojų vardus ir jų metines pajamas.
  5. Pateikite darbuotojų, priimtų į darbą 1983 metais, sąrašą (pavardę, skyriaus numerį, priėmimo į darbą datą).

 

2 Skyrius: Kintamųjų nurodymas vykdymo metu

  1. Sukurkite užklausą, pateikiančią informaciją apie visus darbuotojus dirbančius nurodytose pareigose. Pareigas aprašykite pasinaudoję kintamuoju. Patikrinimo tikslu įvykdykite šią užklausą kelis kartus.

ENAME       JOB        SAL       MGR   DEPTNO

-------------  ----------   ---------   -------- --------------

SMITH       CLERK   800         7902    20

ADAMS     CLERK   1100       7788    20

JAMES       CLERK   950        7698     30

MILLER    CLERK   1300       7782    10

 

  1. Apibrėžkite kintamąjį darbuotojų metiniam atlyginimui skaičiuoti. Panaudokite šį kintamąjį užklausoje, kuri išvardintų visus darbuotojus, uždirbančius per metus 30 000 ir daugiau. (Pavardė ir metinis atlyginimas)

 

3 Skyrius: Vieno įrašo funkcijos

  1. Pateikite darbuotojų pavardes ir atlyginimus, padidintus 15% ir išreikštus sveikais skaičiais.
  2. Išveskite į ekraną informaciją žemiau parodytu būdu.

 

EMPLOYEE_AND_JOB

--------------------------------------------

SMITH 

CLERK

ALLEN

SALESMAN

ir t.t.

 

  1. Išveskite į ekraną darbuotojų pavardes, jų priėmimo į darbą ir atlyginimo peržiūrėjimo (REVIEW) datas. Tarkime, kad atlyginimo peržiūrėjimo data yra po metų nuo priėmimo į darbą datos. Duomenis pateikite atlyginimo peržiūrėjimo datos didėjimo tvarka.
  2. Parašykite užklausą, pateikiančią, kiek laiko darbuotojas dirba įmonėje. Galite naudoti DEFINE komandą, kad nereikėtų pakartotinai suvedinėti išraiškų.

 

ENAME

LENGTH OF SERVICE

---------------

-------------------------------

KING

11 YEARS 7 MONTHS

 

  1. *Darbuotojams, kurie priimti į darbą iki mėnesio 15-os dienos, pirmas darbo užmokestis mokamas paskutinį to mėnesio penktadienį. Darbuotojams, kurie priimti į darbą vėliau 15-os mėnesio dienos, pirmas darbo užmokestis mokamas kito mėnesio paskutinį penktadienį.  Pateikite informaciją apie darbuotojus, jų priėmimo į darbą ir pirmo darbo užmokesčio gavimo datas. Surūšiuokite pagal priėmimo į darbą datą.
  2. Išveskite į ekraną informaciją žemiau parodytu būdu:

EMPLOYEE

---------------------

SMITH(Clerk)

ALLEN(Salesman)

ir t.t.

  1. Parašykite užklausą, nepriklausančią nuo to, kaip bus nurodytos darbuotojų pareigos: didžiosiomis ar mažosiomis raidėmis.

Enter value for job: clerk

  1. Pastebėta, kad 30-ame skyriuje ne visi pardavėjai vyrai. Išveskite į ekraną informaciją, kaip parodyta žemiau, pakeisdami SALESMAN į SALESPERSON.

 

ENAME 

DEPTNO

JOB

----------------- 

-------------------

-------------

ALLEN

30

Salesperson

WARD

30

Salesperson

BLAKE

30

Manager

ir t.t.

4 Skyrius: Duomenų tipų konvertavimo ir nuo tipo nepriklausančios funkcijos

  1. Pateikite darbuotojų, kurie dirba 20-ame skyriuje, pavardes ir priėmimo į darbą datas. Pavadinkite antrąjį stulpelį “DATE_HIRED”, kad visi duomenys sutilptų į vieną eilutę (pagal nutylėjimą stulpelio plotis yra 80 simbolių).

ENAME 

DATE_HIRE

 

----------------- 

-------------------

 

ALLEN

June, 31 d. 1983

JONES

October, 12 d. 1983

ir t.t.

 

  1. Pateikite darbuotojų sąrašą, kuriame kiekvienam darbuotojui priklausomai nuo jo atlyginimo būtų nurodyta:

“Below 1500”, jei atlyginimas mažesnis už 1500,

“On Taget”, jei atlyginimas lygus 1500 ir

atlyginimo reikšmė visais kitais atvejais.

  1. Parašykite užklausą, kuri parodytų savaitės dieną, kiekvienai formate DD.MM.YYYY nurodytai datai.

Enter value for anydate: 15.02.1996

DAY

------------------------------

THURSDAY

5 Skyrius: Grupavimo funkcijos

  1. Suraskite mažiausią darbuotojų atlyginimą.
  2. Suraskite darbuotojų didžiausią, mažiausią ir vidutinį atlyginimus.
  3. Pateikite mažiausią ir didžiausią atlyginimus kiekvienoms pareigoms.
  4. Suraskite, kiek yra vadovų, neišvardinant jų.
  5. Paskaičiuokite atlyginimų vidurkį ir visų pajamų vidurkį kiekvienoms pareigoms. Nepamirškite, kad pardavėjai uždirba komisinius.
  6. Suraskite skirtumą tarp didžiausio ir mažiausio darbo užmokesčio.
  7. Suraskite visus skyrius, kuriuose dirba daugiau kaip 3 darbuotojai.
  8. Patikrinkite, ar darbuotojų numeriai iš tikrųjų nepasikartoja.
  9. Pateikite kiekvieno vadovo mažiausiai apmokamo darbuotojo atlyginimą. Neįtraukite tų grupių, kur atlyginimas yra mažesnis už 1000. Informaciją pateikite atlyginimų didėjimo tvarka.

6 Skyrius: Užklausos iš kelių lentelių

  1. Išveskite darbuotojų pavardes ir skyrių, kuriuose jie dirba, pavadinimus. Informaciją surūšiuokite pagal skyrių pavadinimus.
  2. Išveskite visų darbuotojų pavardes, skyrių pavadinimus ir skyrių numerius.
  3. Išveskite darbuotojų, kurių mėnesinis atlyginimas didesnis už 1500, pavardes, miestų ir skyrių, kuriuose jie dirba, pavadinimus.
  4. Patikrinkite darbuotojų sąrašą (pavardę, pareigas, atlyginimą), parodantį atlyginimų lygius (Grade).
  5. Išveskite tą pačią informaciją apie darbuotojus, kurių 3 atlyginimo lygis.
  6. Išveskite informaciją apie darbuotojus, dirbančius Dalase (pavardes, atlyginimus, miestą, kuriame dirba darbuotojas).
  7. Išvardinkite skyrius, kuriuose nedirba nei vienas darbuotojas.