Advertisement
Guest User

Untitled

a guest
Dec 1st, 2015
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.74 KB | None | 0 0
  1. SELECT IMIE,NAZWISKO FROM pracownik_personalia ORDER BY NAZWISKO ASC, IMIE DESC;
  2. SELECT IMIE,NAZWISKO,NIP FROM pracownik_personalia WHERE NIP LIKE '15%' AND NAZWISKO LIKE '%ski';
  3. SELECT ID_PRACOWNIKA,PENSJA+NVL(PREMIA,0) ZAROBKI FROM pracownik;
  4. SELECT IMIE,NAZWISKO,STANOWISKO FROM pracownik_personalia,pracownik WHERE pracownik_personalia.id_pracownika = pracownik.id_pracownika WHERE pracownik.premia >0;
  5. SELECT IMIE,NAZWISKO,STANOWISKO FROM pracownik_personalia pp,pracownik p WHERE pp.id_pracownika = p.id_pracownika;
  6. SELECT IMIE,NAZWISKO,STANOWISKO FROM pracownik_personalia pp,pracownik p WHERE pp.id_pracownika = p.id_pracownika AND premia IS NOT NULL;
  7. SELECT ID_PRACOWNIKA,PENSJA FROM PRZEDZIAL_ZAROBKOW,PRACOWNIK WHERE pensja>=DOLNA_GRANICA AND pensja<=GORNA_GRANICA AND (id_przedzialu=1 OR id_przedzialu=2);
  8. SELECT ID_PRACOWNIKA,PENSJA FROM PRZEDZIAL_ZAROBKOW,PRACOWNIK WHERE pensja BETWEEN dolna_granica AND gorna_granica AND id_przedzialu IN (1,2);
  9. SELECT DISTINCT STANOWISKO FROM PRACOWNIK p,DZIAL d WHERE d.id_dzialu = p.id_dzialu;
  10.  
  11. Select 'Pracownik '|| imie || ' ' || nazwisko || ' jest zatrudniony na stanowisku ' || stanowisko FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika = p.id_pracownika;
  12. Select 'Pracownik '|| UPPER(imie) || ' ' || UPPER(nazwisko) || ' jest zatrudniony na stanowisku ' || stanowisko FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika = p.id_pracownika;
  13. SELECT imie,nazwisko, REPLACE(UPPER(SUBSTR(nazwa,0,4)),'KSIE','KSIG') FROM pracownik_personalia pp, pracownik p, dzial d WHERE p.id_dzialu = d.id_dzialu AND pp.id_pracownika = p.id_pracownika;
  14. SELECT imie,nazwisko FROM pracownik_personalia ORDER BY LENGTH(nazwisko) ASC;
  15. SELECT pensja, data_zatrudnienia, nazwa, nazwisko FROM pracownik p, pracownik_personalia pp, dzial d WHERE INITCAP(pp.nazwisko) = INITCAP('&nazwisko') AND pp.id_pracownika = p.id_pracownika AND p.id_dzialu = d.id_dzialu;
  16. SELECT imie,nazwisko,TO_CHAR(data_zatrudnienia,'DAY') FROM pracownik p, pracownik_personalia pp WHERE p.id_pracownika = pp.id_pracownika;
  17. SELECT imie,nazwisko,TO_CHAR(data_zatrudnienia,'DD MONTH HH24:MI:SS') FROM pracownik p, pracownik_personalia pp WHERE p.id_pracownika = pp.id_pracownika;
  18. SELECT IMIE,NAZWISKO,NIP FROM pracownik_personalia WHERE SUBSTR(NIP,1,2) = 15;
  19. SELECT p1.id_pracownika, p2.id_pracownika, ABS(p1.data_zatrudnienia-p2.data_zatrudnienia) FROM pracownik p1, pracownik p2 WHERE p1.id_przelozonego = p2.id_pracownika;
  20. SELECT p1.id_pracownika, p2.id_pracownika, ABS(ROUND(MONTHS_BETWEEN(p1.data_zatrudnienia,p2.data_zatrudnienia),1)) FROM pracownik p1, pracownik p2 WHERE p1.id_przelozonego = p2.id_pracownika;
  21. SELECT p1.id_pracownika, p2.id_pracownika, ROUND(ABS(ROUND(MONTHS_BETWEEN(p1.data_zatrudnienia,p2.data_zatrudnienia),1))/12,1) FROM pracownik p1, pracownik p2 WHERE p1.id_przelozonego = p2.id_pracownika;
  22.  
  23. PS6
  24.  
  25. 1. SELECT COUNT(*) from pracownik;
  26. 2. SELECT COUNT(*) from pracownik WHERE premia != 0;
  27. SELECT COUNT(premia) from pracownik;
  28. 3. SELECT AVG(pensja) "Średnia pensja", stanowisko from pracownik GROUP BY stanowisko ORDER BY "Średnia pensja" desc;
  29. 4. SELECT k.adres.miejscowosc, count(*) FrOM klient k GROUP BY k.adres.miejscowosc;
  30. 5. SELECT p.nazwisko, COUNT(t.column_value) FROM pracownik_personalia p, TABLE(p.telefon) t GROUP BY id_pracownika,nazwisko;
  31. SELECT p.nazwisko, COUNT(t.column_value) FROM pracownik_personalia p, TABLE(p.telefon) t GROUP BY nazwisko,id_pracownika;
  32. 6. SELECT MAX(p.pensja) - MIN(p.pensja), nazwa FROM pracownik p, dzial d wHERE p.id_dzialu=d.id_dzialu AND nazwa='Sprzedaz' group BY nazwa;
  33. 7. SELECT nazwa, COUnT(id_pracownika) FROM pracownik p, dzial d wHERE p.id_dzialu(+)=d.id_dzialu group by nazwa,d.id_dzialu;
  34. 8. SELECT nazwa, COUNT(DISTINCT stanowisko) FROM pracownik p, dzial d wHERE p.id_dzialu(+)=d.id_dzialu GROUP BY nazwa,d.id_dzialu;
  35. 9. SELECT nazwa, stanowisko, COUNT(*) FROM pracownik p, dzial d wHERE p.id_dzialu(+)=d.id_dzialu GROUP BY nazwa,stanowisko,d.id_dzialu;
  36. 10. SELECT nazwa, COUNT(*) FROM towar t, zamowienie_szczegoly z WHERE t.nr_towaru=z.nr_towaru GROUP BY t.nr_towaru, nazwa HAVING COUNT(*)>10
  37.  
  38.  
  39. PS7
  40.  
  41. 1. SELECT nazwa FROM produkt p WHERE typ=(SELECT typ FROM produkt WHERE nazwa='produkt_1');
  42. 2. SELECT nazwisko from pracownik_personalia pp, pracownik p WHERE p.data_zatrudnienia<(SELECT data_zatrudnienia FROM pracownik WHERE stanowisko='prezes');
  43. 3. SELECT nazwisko FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika=p.id_pracownika AND pensja>(SELECT AVG(pensja) FROM pracownik);
  44. 4. SELECT nazwisko, data_zatrudnienia FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika=p.id_pracownika AND data_zatrudnienia=(SELECT MIN(data_zatrudnienia) FROM pracownik);
  45. 5. SELECT stanowisko, AVG(pensja) FROM pracownik GROUP BY stanowisko HAVING AVG(pensja)>(SELECT AVG(pensja) FROM pracownik);
  46. 6. SELECT nazwa, COUNT(*) FROM dzial d, pracownik p WHERE p.id_dzialu = d.id_dzialu GROUP BY d.id_dzialu, nazwa HAVING COUNT(*)=(SELECT MAX(COUNT(*)) FROM pracownik GROUP BY id_dzialu);
  47. 7. SELECT nazwisko FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika=p.id_pracownika AND pensja<(SELECT AVG(pensja) FROM pracownik WHERE stanowisko=p.stanowisko);
  48. 8. SELECT nazwisko FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika=p.id_pracownika AND data_zatrudnienia<(SELECT data_zatrudnienia FROM pracownik p1 WHERE p.id_przelozonego=p1.id_pracownika);
  49. 9. SELECT nazwa,nazwisko,pensja FROM pracownik_personalia pp, pracownik p, dzial d WHERE d.id_dzialu=p.id_dzialu AND pp.id_pracownika=p.id_pracownika AND p.pensja=(SELECT MAX(pensja) FROM pracownik WHERE p.id_dzialu=id_dzialu);
  50. 10.
  51.  
  52. PS8
  53.  
  54. 1. SELECT nazwisko, pensja FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika=p.id_pracownika AND p.id_pracownika NOT IN (SELECT id_przelozonego FROM pracownik WHERE id_przelozonego IS NOT NULL);
  55. SELECT nazwisko, pensja FROM pracownik_personalia pp, pracownik p WHERE pp.id_pracownika=p.id_pracownika AND p.id_pracownika=ANY (SELECT id_przelozonego FROM pracownik);
  56.  
  57. 2. SELECT stanowisko, AVG(pensja) FROM pracownik p GROUP BY stanowisko HAVING AVG(pensja) NOT IN (SELECT AVG(pensja) FROM pracownik WHERE stanowisko<>p.stanowisko GROUP BY stanowisko);
  58.  
  59. 3??????
  60. SELECT DISTINCT(nazwisko) FROM pracownik_personalia pp, pracownik p, dostawa d WHERE d.id_pracownika=p.id_pracownika AND pp.id_pracownika=p.id_pracownika AND pensja>(SELECT MIN(pensja) FROM pracownik);
  61. SELECT nazwisko, COUNT(*) FROM pracownik_produkcja pr, pracownik_personalia pp, pracownik p, dostawa d WHERE pr.id_pracownika=p.id_pracownika AND d.id_pracownika=p.id_pracownika AND pp.id_pracownika=p.id_pracownika AND pensja>(SELECT MIN(pensja) FROM pracownik) GROUP BY nazwisko;
  62.  
  63. PS9
  64.  
  65. 1.
  66. SELECT stanowisko, SUM(pensja) FROM pracownik p WHERE EXISTS (SELECT id_pracownika FROM pracownik WHERE id_pracownika IN (SELECT id_przelozonego FROM pracownik WHERE stanowisko=p.stanowisko)) GROUP BY stanowisko;
  67.  
  68. 2.
  69. SELECT d.nazwa, nazwisko FROM dzial d, pracownik p, pracownik_personalia pp WHERE d.id_dzialu=p.id_dzialu AND p.id_pracownika=pp.id_pracownika AND NOT EXISTS (SELECT pensja FROM pracownik WHERE pensja>=p.pensja AND p.id_pracownika<>id_pracownika AND p.id_dzialu=id_dzialu);
  70.  
  71. 3.
  72. SELECT stanowisko FROM pracownik p WHERE NOT EXISTS (SELECT pensja FROM pracownik p1 WHERE p.stanowisko=stanowisko AND pensja IN(SELECT pensja FROM pracownik WHERE p1.id_pracownika<>id_pracownika AND p1.stanowisko=stanowisko)) GROUP BY stanowisko;
  73.  
  74. 4.
  75. SELECT stanowisko, nazwisko, pensja FROM pracownik p, pracownik_personalia pp WHERE p.id_pracownika=pp.id_pracownika AND NOT EXISTS(SELECT pensja FROM pracownik WHERE p.pensja=pensja AND stanowisko=p.stanowisko AND id_pracownika<>p.id_pracownika);
  76.  
  77. SELECT stanowisko, nazwisko, pensja FROM pracownik p, pracownik_personalia pp WHERE p.id_pracownika=pp.id_pracownika AND NOT EXISTS(SELECT pensja FROM pracownik WHERE p.pensja=pensja AND stanowisko=p.stanowisko AND id_pracownika<>p.id_pracownika) AND (SELECT AVG(pensja) FROM pracownik WHERE stanowisko=p.stanowisko) NOT IN (SELECT AVG(pensja) FROM pracownik WHERE stanowisko<>GROUP BY p.stanowisko);
  78. ??????????? FAIL FAIL FAIL ???????
  79.  
  80. 5.
  81.  
  82. PS10
  83.  
  84. 1. SELECT nazwisko,(SELECT COUNT(*) from pracownik WHERE stanowisko=p.stanowisko) liczba FROM pracownik_personalia pp, pracownik p WHERE p.id_pracownika = pp.id_pracownika AND (SELECT COUNT(*) from pracownik WHERE stanowisko=p.stanowisko)>5 ORDER BY liczba desc;
  85.  
  86. 2. SELECT nazwa,(SELECT COUNT(*) FROM pracownik WHERE id_dzialu=d.id_dzialu)/(SELECT COUNT(*) FROM pracownik) procent FROM dzial d;
  87.  
  88. 3. SELECT (SELECT SUM(stawka*liczba_godzin) FROM pracownik_produkcja)/(SELECT SUM(budzet) FROM produkcja) FROM dual;
  89.  
  90. 4.
  91.  
  92. 5. SELECT nazwisko, pensja FROM pracownik_personalia pp, pracownik p, (SELECT stanowisko, MAX(pensja) max_pensja FROM pracownik GROUP BY stanowisko) t WHERE p.id_pracownika=pp.id_pracownika AND p.stanowisko=t.stanowisko AND p.pensja=t.max_pensja;
  93.  
  94. 6. SELECT nazwa FROM dostawca d, (SELECT id_dostawcy FROM dostawa GROUP BY id_dostawcy HAVING COUNT(*)>5) t, (SELECT id_dostawcy FROM dostawa WHERE id_pracownika IN(SELECT id_pracownika FROM pracownik WHERE data_zatrudnienia=(SELECT MAX(data_zatrudnienia) FROM pracownik))) t2 WHERE t.id_dostawcy = d.id_dostawcy AND d.id_dostawcy=t2.id_dostawcy;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement