26.01.2015 Views

Materiały pomocnicze do PL/SQL

Materiały pomocnicze do PL/SQL

Materiały pomocnicze do PL/SQL

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!