MateriaÅy pomocnicze do PL/SQL
MateriaÅy pomocnicze do PL/SQL
MateriaÅy pomocnicze do PL/SQL
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
to były zapytania zwracające pojedyńczą wartość, można również używać podzapytań zwracających grupę<br />
wartości:<br />
• znajdź pracowników o najniższych pensjach w poszczególnych działach<br />
select<br />
ename, sal, deptno<br />
from<br />
emp<br />
where sal in ( select min(sal)<br />
from emp<br />
group by deptno);<br />
ENAME SAL DEPTNO<br />
--------- ------- ------------<br />
SMITH 800 20<br />
JAMES 950 30<br />
MILLER 1300 10<br />
ponieważ wewnętrzne zapytanie używa group by zwróci więcej niż jedną wartość - dlatego musimy użyć<br />
in w warunku. Może się również zdażyć, że pracownik z działu x zostanie wyselekcjonowany ponieważ<br />
jego pensja będzie równa minimum z działu y. Aby tego umiknąć możemy użyć selectu postaci:<br />
select ename, sal, deptno<br />
from emp<br />
where (sal,deptno) in ( select min(sal), deptno<br />
from emp<br />
group by deptno);<br />
ENAME SAL DEPTNO<br />
--------- ------- ------------<br />
SMITH 800 20<br />
JAMES 950 30<br />
MILLER 1300 10<br />
konieczna zgodność kolejności, ilości i typów kolumn w where i podzapytaniu. Sygnalizowane są błędy<br />
jeżeli podzapytanie zwróci więcej niż jeden rekord a nie używamy operatorów 'grupowych' oraz wtedy<br />
kiedy podzapytanie nie wybieże żadnego wiersza.<br />
Materiały <strong>do</strong> kursów Oracle 7: <strong>PL</strong>/<strong>SQL</strong>, str. 20