Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Przykłady do ćwiczeń - lab 3 - złączenia wewnetrzne
- 3.1 PRZYKŁADY (zapytania do wielu tabel:, JOIN .. ON, JOIN .. USING) - złączenia wewnętrzne
- 3.1.1 Zapytanie do dwóch tabel, np.
- Wyświetl nazwy działów(department_name) oraz miasta (city), w których się znajdują (tabele departments oraz locations)
- - bez klauzuli JOIN:
- SELECT d.department_name, l.city FROM departments d, locations l WHERE d.location_id=l.location_id;
- - wykorzystując klauzulę JOIN .. ON:
- SELECT d.department_name, l.city FROM departments d JOIN locations l ON d.location_id=l.location_id;
- - wykorzystując klauzulę JOIN .. USING:
- SELECT department_name, city FROM departments JOIN locations USING (location_id);
- 3.1.2. Zapytanie do więcej, niż dwóch tabel, np.
- Wyświetl nazwy działów (department_name) oraz miasta (city) i państwa (country_name), w których się znajdują (tabele departments, locations oraz countries)
- - bez klauzuli JOIN:
- SELECT d.department_name, l.city, c.country_name FROM departments d, locations l, countries c WHERE d.location_id=l.location_id AND l.country_id=c.country_id;
- - wykorzystując klauzulę JOIN .. ON:
- SELECT d.department_name, l.city, c.country_name FROM departments d JOIN locations l ON d.location_id=l.location_id JOIN countries c ON l.country_id=c.country_id;
- - wykorzystując klauzulę JOIN .. USING: SELECT department_name, city, country_name FROM departments JOIN locations USING (location_id) JOIN countries USING (country_id);
- 3.2 PRZYKŁADY LAB 10 [NATURAL JOIN, OUTER JOIN] - złączenia zewnętrzne
- NATURAL JOIN - klauzula, która automatycznie wybiera kolumnę, po której chcemy łączyć tabele, na podstawie nazwy (uwaga! jeśli kilka kolumn ma takie same nazwy, łączenie odbywa się po wszystkich kolumnach!) ,
- np. Wyświetl nazwy departamentów (department_name) i miasta (city), w których się znajdują wykorzystując klauzulę NATURAL JOIN (tabele departments oraz locations)
- SELECT department_name, city FROM departments NATURAL JOIN locations
- Jeśli złączenie dwóch tabel powinno zostać wykonane na wszystkich kolumnach wspólnych dla obu tabel (o takich samych nazwach), a złączenie ma charakter równozłączenia, można używać słów kluczowych NATURAL JOIN, bez definiowania warunku złączenia.
- Złączenie zewnętrzne - jest typem złączenia, w którym każdy wiersz zbioru wynikowego nie musi zawierać wierszy pochodzących z obydwu tabel objętych złączeniem.
- Złączenie zewnętrzne należny stosować w przypadku, gdy złączenie powinno zostać wykonane, jeśli tylko jest to możliwe i gdy - bez względu na to, czy zostało wykonane, czy nie - powinny zostać zwrócone pewne wiersze.
- LEFT / RIGHT / FULL OUTER JOIN - klauzula, która wyświetla z tabeli po stronie lewej (LEFT), prawej (RIGHT) lub obu stronach łączenia OUTER JOIN również te wartości, które nie mają odpowiednika w przeciwległej tabeli,
- np. Wyświetl nazwy departamentów (department_name) i wszystkie miasta (city), w których mogą się znajdować (tabele departments oraz locations)
- SELECT department_name, city
- FROM departments RIGHT OUTER JOIN locations
- USING(location_id)
- Kolejności słów kluczowych !
- SELECT -> FROM -> JOIN -> JOIN .. -> WHERE -> GROUP BY -> HAVING
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement