Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.43 KB | None | 0 0
  1. /*1. Podać nazwisko, stanowisko pracowników, którzy w nazwie stanowiska mają litery NA oraz
  2. w nazwie lokalizacjii litery LL. Użyć: like, substr, instr oraz upper, lower w celu porównania bez rozróżniania wielkości liter.*/
  3. select rpad(ename,20,'*|'),job,loc from emp e,dept d where e.deptno=d.deptno and loc like '%LL%' and job like '%NA%';
  4. /*2. Wynik zadania 1. przedstawić w postaci zdania. Użyć funkcji: LOWER,UPPER,INITCAP,LPAD,RPAD.*/
  5. select (rpad(initcap(ename),length(ename)+14,' pracuje jako ')||lower(job)||lpad(loc,length(loc)+11,' w mieście ')) as "kto gdzie pracuje"  from emp e,dept d where e.deptno=d.deptno and loc like '%LL%' and job like '%NA%';
  6. /*3. Podać nazwiska pracowników, których zarobki powiększone o 25% przekraczają 3000.
  7. Wynik zaokrąglić do najbliższej liczby całkowitej w górę oraz podać w drugiej kolumnie tylko wartość całkowitą.*/
  8. select ename,round((sal+nvl(comm,0))*5/4),round((sal+nvl(comm,0))*5/4,-1) from emp where (sal+nvl(comm,0))*5/4>3000;
  9. /*4. Podać numery, nazwiska, całkowite zarobki pracowników przybliżone z góry i od dołu za pomocą funcji.0*/
  10. select empno,ename,round(sal+nvl(comm,0)),trunc(sal+nvl(comm,0)-1) from emp;
  11. /*5. Sprawdzić działanie funkcji matematycznych POWER, SQRT, ABS, MOD.*/
  12. /*6. Wyświetlić wynagrodzenia pracowników podniesione do kwadratu.*/
  13. select ename,power(sal+nvl(comm,0),2) from emp;
  14. /*7. Jaka data będzie za 100 dni.*/
  15. select sysdate,sysdate+100 from dual;
  16. /*8. Ile miesięcy pracują poszczególni pracownicy.*/
  17. select ename,round(months_between(sysdate,hiredate)) as "ilosc_miesięcy",sysdate,hiredate from emp;
  18. /*9. Jaką datę będziemy mieli za 10 miesięcy.*/
  19. select sysdate,add_months(sysdate,10) as "za 10 miechów" from dual;
  20. /*10. Podać datę ostatniego dnia bieżącego miesiąca.*/
  21. select LAST_DAY(SYSDATE) from dual;
  22. /*11. Podać odpowiedź, w postaci zdania, który pracownik nie posiada zwierzchnika.*/
  23. select lpad(initcap(ename),length(ename)+21 ,'Pracownik o nazwisku ')||' nie posiada żadnego zwierzchnika' as "Zdanie" from emp where mgr is null;
  24. /*12. Pobrać 4 pierwsze rekordy z tabeli z widełkami wynagrodzeń. Sprawdzić wpływ klauzuli Order by na wynik zapytania.*/
  25. select * from salgrade where grade<=4 order by hisal;
  26. /*13. Dla każdego pracownika podać długość jego nazwiska.*/
  27. select ename,length(ename) as "dugosc nazwiska" from emp;
  28. /*14. Podać nazwiska pracowników zapisane z dużej litery a stanowiska zapisane małymi literami.*/
  29. select INITCAP(ename),lower(job) from emp;
  30. /*15. Zamienić wszystkie literki E w imionach pracowników na a przy pomocy funkcji translate.*/
  31. select ename,translate(ename,'E','a') from emp;
  32. /*16. Uzupełnić z prawej strony wynik kolumny dname znakami x do 15 znaków w polu.*/
  33. select rpad(dname,15,'8=>') from dept;
  34. /*17. Dla każdego departamentu podać lokalizację z pominiętym ostatnim znakiem.*/
  35. select dname,rpad(loc,length(loc)-1,'s') from dept;
  36. /*18. Podać trzy sposoby wyszukania pracownika o nazwisku rozpoczynającym się od liter B*/
  37. select ename from emp where ename like 'B%';
  38. select ename from emp where rpad(ename,1)='B';
  39. select ename from emp where instr(ename,'B')=1;
  40. /*19. Podać trzy pierwsze cyfry numeru pracownika, nazwisko, rok zatrudnienia osób z 1 stopniem płacowym, pracujących w New York*/
  41. select rpad(empno,3),ename,hiredate,grade,loc from emp e,dept d,salgrade where e.deptno=d.deptno and grade=1 and sal>=losal and sal<=hisal and loc='NEW YORK';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement