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.
Wybieranie danych z kilku tablic<br />
Używamy normalnej instrukcji select, wymieniając w from kilka tablic. Możemy po nazwach tablic podać<br />
aliasy (<strong>do</strong> 30 znaków) oraz użyć - tych aliasów lub wprost nazw tablic - <strong>do</strong> klasyfikowania nazw kolumn:<br />
select ename, job, dname<br />
from emp, dept<br />
where emp.deptno = dept.deptno;<br />
select e.ename, job, dname<br />
from emp e, dept<br />
where e.deptno = dept.deptno;<br />
Użycie aliasów lub nazw tablic <strong>do</strong> kwalifikowania odwołania <strong>do</strong> kolumny przyspiesza działanie select i<br />
usuwa ewentualne niejednoznaczności. Jeżeli zdefiniujemy alias dla tablicy to nie możemy używać jej<br />
nazwy <strong>do</strong> kwalifikowania kolumn - trzeba użyć aliasu.<br />
Jeżeli nie użyjemy 'where' to <strong>do</strong>staniemy iloczyn kartezjański dwóch tablic - zwykle jest to zbyt wiele<br />
wierszy by można je było sensownie użyć. W warunku where może wystąpić <strong>do</strong>wolne wyrażenie logiczne<br />
- można używać between, like, etc.<br />
Warunek z where decyduje, które wiersze zostaną wybrane <strong>do</strong> przetwarzania. Te, które nie spełniaja<br />
warunku z where zostaną odrzucone. Jeżeli chcemy żeby z pewnej tablicy wybrać wszystkie rekordy i<br />
połączyć je z wyselekcjowanymi elementami innej tablicy - umieszczamy w warunku where po tej stronie<br />
wyrażenia gdzie znajduje się tablica z której chcemy wybrać wszystkie elementy - plus w nawaisach ('(+)')<br />
select e.ename, d.deptno, d.name<br />
from emp e, deptno d<br />
where e.deptno (+) = d.deptno and d.deptno in (30,40);<br />
Można użyć tylko jednego '(+)' w całym selekcie. Można powiązać tabelę z samą sobą - tworząc warunek<br />
w where z użyciem kolumn z tej samej tablicy.<br />
Materiały <strong>do</strong> kursów Oracle 7: <strong>PL</strong>/<strong>SQL</strong>, str. 38