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