Archive for the ‘łączenie tabel’ Category

Połączenia: NATURAL JOIN, JOIN ON, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN

piątek, lipiec 11th, 2008


Możemy połączyć tabele za pomocą NATURAL JOIN jeżeli w łączonych tabelach są kolumny które nazywają sie tak samo i są  tego samego typu, przykład:

select imie, nazwisko, adres from pracownik NATURAL JOIN zamieszkanie;

Jeżeli kolumny mają te same typy i dane i te same nazwy wtedy należy użyć łączenia typu JOIN … USING i tu wskazać  nazwę kolumny, przykład:

select a.imie, a.nazwisko, b.wynagrodzenie from pracownik a JOIN pensje b USING (wyn_id);

Jeżeli chcemy wskazać jak mamy połączyć tabele tj. jakich kolumn użyć do połączenie wtedy używamy JOIN … ON …  przykład:

select a.imie, a.nazwisko, b.wynagrodzenie from pracownik JOIN pensje ON a.wyn_id=b.wyn_id;  

LEFT OUTER JOIN to połączenie w wyniku którego wszystkie wiersze są wyświetlane z lewej tabeli nawet jak nie maja  odpowiedników w prawej tabeli,

RIGHT OUTER JOIN odpowiednio wyświetlają się wszystkie wiersze z prawej tabeli nawet  jak nie mają odpowiedników w kolumnie łączącej w lewej tabeli.

FULL OUTER JOIN wszystkie wiersze są wyświetlane z prawej tabeli nawet jak nie maja odpowiedników w lewej tabeli a  także wszystkie wiersze są wyświetlane z lewej tabeli nawet jak nie maja odpowiedników (kolumnowych) w prawej tabeli.

Wyświetlanie danych z kilku tabel

piątek, lipiec 11th, 2008


Istniej możliwość wyświetlania danych z kilku tabel w jednym zapytaniu, żeby to zrobić musimy połączyć te tabele,  istnieją trzy sposoby łączenia tabel:

LEFT OUTER, RIGHT OUTER i FULL OUTER.

Tabele łączymy łącząc odpowiednie kolumny,  tzn najlepiej jak kolumny mają te same typy i są mają te same wartości, podam przykład połączenia 2 tabel:

tabela  Pracownicy i tabela Zamieszkanie,

select pracownicy.imie, zamieszkanie.adres from pracownicy, zamieszkanie where pracownicy.id_prac=zamieszkanie.id_zam;

to zapytanie może wyglądać także:

select x.imie, y.adres from pracownicy x,  zamieszkanie y where x.id_prac=y.id_zam;

wynik tych dwóch zapytań będzie identyczny. W tym drugim przykładzie wykorzystaliśmy aliasy.


Tanie noclegi - meble tapicerowane - Łóżka - regały - Projekty - usługi księgowe kraków - usługi księgowe kraków - kurs na architekture - odzież ratownicza - Sprzedaj i kup podręcznik - Usychające drzewa