Forum I Roku Informatyki UW

Grupa O. Skibskiego

Go down

Grupa O. Skibskiego

Post by Gricha on Tue Oct 04, 2011 10:52 pm

Robiliście może zagnieżdżone zapytania? Niestety mam problem ze stworzeniem do 4.1 jakiegoś sprawnego zapytania działającego.
avatar
Gricha

Liczba postów : 425
Join date : 2010-10-12
Age : 26
Skąd : Myszków

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by juho on Tue Oct 04, 2011 11:39 pm

Zamieszczam rozwiązania do pierwszych labów:

LAB1

ZAD2
3) SELECT DISTINCT mgr FROM emp WHERE mgr IS NOT NULL ORDER BY mgr DESC;
4) SELECT grade, (losal + hisal)/2 AS avgsal FROM salgrade;
5) SELECT ename, hiredate FROM emp WHERE job='ANALYST' OR (ename LIKE 'A%' AND sal>1500 AND sal<2000);
6) SELECT DISTINCT sin(3.14) FROM emp;
7) SELECT * FROM emp WHERE mgr IS NULL;

ZAD3
1) SELECT job, AVG(sal), COUNT(*) FROM emp GROUP BY job;
2) SELECT deptno, COUNT(comm) FROM emp GROUP BY deptno HAVING COUNT(comm)>0;
3) SELECT deptno, COUNT(comm) FROM emp GROUP BY deptno;
4) SELECT job, AVG(sal) FROM emp GROUP BY job HAVING COUNT(*)>2;
5) SELECT deptno FROM emp GROUP BY deptno, job HAVING MAX(sal)-MIN(sal)>300;
6) SELECT deptno, AVG(sal) FROM emp GROUP BY deptno HAVING COUNT(ename) > COUNT(mgr);
7) SELECT SUM(sal) FROM emp GROUP BY job HAVING COUNT(*)=1;


Last edited by juho on Mon Oct 10, 2011 5:52 pm; edited 1 time in total
avatar
juho

Liczba postów : 177
Join date : 2010-10-13
Age : 27
Skąd : Krępiec / Lublin

View user profile http://juho-the-panda.xt.pl

Back to top Go down

Re: Grupa O. Skibskiego

Post by marcinek on Mon Oct 10, 2011 1:45 pm

dajcie adr jego strony

marcinek

Liczba postów : 35
Join date : 2010-10-15

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by Gricha on Mon Oct 10, 2011 2:09 pm

mimuw.edu.pl/~oski/bd
avatar
Gricha

Liczba postów : 425
Join date : 2010-10-12
Age : 26
Skąd : Myszków

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by juho on Mon Oct 10, 2011 5:53 pm

Częściowe rozwiązania do drugich labów:

LAB2:

ZAD1
1) SELECT X.empno, X.ename, (SELECT ename FROM emp WHERE empno=X.mgr) FROM emp X;
2) SELECT ename, hiredate FROM emp WHERE hiredate = (SELECT MIN(hiredate) FROM emp);
3) SELECT dname FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp GROUP BY deptno);
4) SELECT job, MAX(empcount) FROM (SELECT job, deptno, COUNT(ename) AS empcount FROM emp GROUP BY job, deptno) GROUP BY job;
5) SELECT SUM(deptjobmax) FROM (SELECT ename, sal, deptno, job, (SELECT maxsal FROM (SELECT deptno, job, MAX(sal) AS maxsal FROM emp GROUP BY deptno, job) WHERE deptno=emp.deptno AND JOB=emp.job) AS deptjobmax FROM emp);

ZAD2
1) SELECT DISTINCT loc FROM dept, emp WHERE emp.deptno = dept.deptno AND emp.job='SALESMAN';
2) SELECT worker.ename, boss.ename, loc FROM emp worker, emp boss, dept WHERE worker.mgr = boss.empno AND boss.deptno = dept.deptno;
2 lepiej) SELECT worker.ename, boss.ename, loc FROM emp worker LEFT JOIN emp boss ON worker.mgr = boss.empno LEFT JOIN dept ON boss.deptno = dept.deptno;
3) SELECT dept.deptno, COUNT(emp.ename) FROM emp, dept WHERE emp.deptno = dept.deptno GROUP BY dept.deptno;
3 lepiej) SELECT dept.deptno, COUNT(emp.ename) FROM emp RIGHT JOIN dept ON emp.deptno = dept.deptno GROUP BY dept.deptno;
avatar
juho

Liczba postów : 177
Join date : 2010-10-13
Age : 27
Skąd : Krępiec / Lublin

View user profile http://juho-the-panda.xt.pl

Back to top Go down

Re: Grupa O. Skibskiego

Post by Heniek on Mon Oct 10, 2011 9:53 pm

Orientujecie się czy kolos będziemy pisać na kompach czy kartkach? Czy można mieć jakieś notatki?

Heniek

Liczba postów : 329
Join date : 2010-10-12

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by Gricha on Mon Oct 10, 2011 9:55 pm

Wydaje mi się, że na komputerach. I że można korzystać z neta chyba
avatar
Gricha

Liczba postów : 425
Join date : 2010-10-12
Age : 26
Skąd : Myszków

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by Marcin on Sat Oct 15, 2011 7:32 pm

juho wrote:LAB1
ZAD3
7) SELECT SUM(sal) FROM emp GROUP BY job HAVING COUNT(*)=1;

Niestety nie jest to dobra odpowiedź na to pytanie.

Poprawna, ale brzydka:
-- zad3.7 laby1
select deptno, job, avg(sal) from emp group by job, deptno having count(*)=1 order by deptno, job;

Marcin

Liczba postów : 10
Join date : 2011-06-07

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by Gricha on Sun Oct 16, 2011 1:22 am

Pytanie - czy komuś takie gówno wyskakiwało i wie jak temu zaradzić?

ORA-00054: resource busy and acquire with NOWAIT specified
avatar
Gricha

Liczba postów : 425
Join date : 2010-10-12
Age : 26
Skąd : Myszków

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by ThomasJefferson on Wed Nov 02, 2011 1:26 pm

rathma wrote:
5) SELECT A.ename FROM emp A LEFT JOIN emp B ON A.hiredate < B.hiredate WHERE B.empno IS NULL;

Powinno być ">" zgodnie z treścią zadania.

ThomasJefferson

Liczba postów : 175
Join date : 2010-10-14

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by rathma on Wed Nov 02, 2011 1:40 pm

ThomasJefferson wrote:Powinno być ">" zgodnie z treścią zadania.
Racja. Dzięki.

rathma

Liczba postów : 102
Join date : 2010-12-15

View user profile

Back to top Go down

Re: Grupa O. Skibskiego

Post by Sponsored content


Sponsored content


Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum