3 Savarankiškas darbas 123
unknown
mysql
3 years ago
4.9 kB
5
Indexable
/* 1 Lentelės: EMP, DEPT, PROJECTS, SALGRADE, CLIENTS Suskaičiuokite, kiek darbuotojų uždirba 5 lygio atlyginimą.*/ select ename, job, sal, grade from emp, salgrade where sal between losal and hisal and grade = 5; /*2 Lentelės: CRIMES, SUSPECTS Pateikite kas, kiek ir kokius nusikaltimus padare (vardas/pavarde, nusikaltimo pavadinimas).*/ select s.name, c.crime_type, count(c.crime_type) from suspects s natural join crimes c group by s.name, c.crime_type; /* 3 Lentelės: EMP, DEPT, PROJECTS, CLIENTS Pateikite projekto pavadinimą, projekto pradžios ir pabaigos datas bei projekto vadovo darbuotojo numerį ir pavardę. Domina tik informacija apie 2016 metais baigtus projektus.*/ select project_name, project_start_date, project_finish_date, manager_id, ename from projects, emp where manager_id = empno and extract(year from project_finish_date) = 2016; /* 4 Lentelės: EMP, DEPT, SALGARDE Suraskite visus darbuotojus, kurių atlyginimas didesnis už jų viršininkus. */ select project_name, project_start_date, project_finish_date, manager_id, ename from projects, emp where manager_id = empno and extract(year from project_finish_date) = 2016; /* 6 Lentelės: EMP, DEPT, SALGRADE Išvardinkite darbuotojus, kurių pareigos tokios pat kaip ir darbuotojo ALLEN (panaudokite subužklausą). */ select ename from emp where job IN(select job from emp where ename='ALLEN'); /* 7 Lentelės: CRIMES, SUSPECTS Kiek laikoma moterų kiekviename kalejime?*/ select c.prison, count(c.prison)kiek, s.sex from crimes c natural join suspects s group by c.prison, s.sex having s.sex = 'Female'; /*9* Lentelės: CRIMES, SUSPECTS Pateikite nusikaltimų statistiką (visa informacija iš lentelės), kurioje atsispindi nusikaltelio lytis. */ select * from crimes; select * from suspects; select * from c.suspects, s.sex /*bybiene*/ /*10 Lentelės: EMP, DEPT, SALGRADE, PROJECTS, CLIENTS Pateikite sąrašą projektų (jų pavadinimai ir biudžetai), kurių vadovai gauna 4 lygio atlyginimus. */ select project_name, budget from projects where manager_id in(select empno from emp, salgrade where sal between losal and hisal and grade=4) /* 1 Lentelės: CRIMES, SUSPECTS Pateikite nusikaltimų statistiką, (visą informaiją iš lentelės), kurioje atsispindi nusikaltėlio lytis*/ select crimes.*, suspects.sex from crimes join suspects on crimes.suspect_id = suspects.suspect_id; /* 2 Lentelės: CRIMES, SUSPECTS Kiek laikoma moterų kiekviename kalėjime?*/ select prison, count(*) from crimes join suspects on crimes.suspect_id = suspects.suspect_id where sex='Female' group by prison; /* 3 Lentelės: EMP, DEPT, PROJECTS, CLIENTS Pateikite projekto pavadinimą, projekto pradžios ir pabaigos datas bei projekto vadovo darbuotojo numerį ir pavardę. Domina tik informacija apie 2016 metus pabaigtus projektus*/ select project_name, project_start_date as pradzia, project_finish_date as pabaiga, empno, ename from projects join emp on projects.manager_id = emp.empno where extract(year from project_finish_date) = 2016; /* 4 Lentelės: EMP, DEPT, PROJECTS, CLIENTS Suskaičiuokite kiek darbuotojų uždirba 5 lygio atlyginimą NEDUOTA LENTELĖ SANGRADE? SUMAIŠYTA?*/ select count(*) from emp, salgrade where grade = 5 and emp.sal between salgrade.losal and salgrade.hisal; /* 5 Lentelės: EMP, DEPT, SALGRADE Išvardinkite darbuotojus, kurių pareigos tokios pat kaip ir darbuotojo ALLEN*/ select * from emp where job in (select job from emp where ename = 'ALLEN'); /* 6 Lentelės: EMP, DEPT, SALGRADE Suraskite visus darbuotojus, kurių atlyginimas didesnis už jų viršininkus*/ select e1.ename as darbuotojas, e2.ename as virsininkas, e1.sal as darb_sal, e2.sal as virs_sal from emp e1 join emp e2 on e1.mgr = e2.empno and e1.sal > e2.sal; /* 8 Lentelės: EMP, DEPT, SALGRADE, PROJECTS, CLIENTS Pateikite sąrašą projektų (jų pavadinimai ir biudžetai), kurių vadovai gauna 4 lygio atlyginimus*/ select project_name, budget from projects join emp on projects.manager_id = emp.empno and sal in (select sal from emp, salgrade where sal between losal and hisal and grade = 4); /* 9 Lentelės: CRIMES, SUSPECTS Kokia maksimali reikšmė buvo skirta už padarytą nusikaltimą ir koks jis buvo? Panaudokite sub užklausą*/ select round(months_between(end_date, start_date)) as menesiais, crime_type from crimes where round(months_between(end_date, start_date)) in (select max(round(months_between(end_date, start_date))) from crimes); /* 10 Lentelės: CRIMES, SUSPECTS Pateikite kas, kiek ir kokius nusikaltimus padare (vardas/pavarde, nusikaltimo pavadinimas*/ select name, crime_type, count(*) from crimes join suspects on crimes.suspect_id = suspects.suspect_id group by name, crime_type order by name;
Editor is loading...