hilpers


  hilpers > comp.* > comp.bazy-danych > 02/2005

 #1  
26.02.2005, 17:23
maruszek
Czy jest jakas roznica w dzialaniu zapytania sql, jesli raz warunek polaczenia
tabel zapiszemy w WHERE:
select * from T1, T2 where T1.ID1 = T2.ID1

a drugi raz zrobimy polaczenie przez JOIN:
select * from T1 join T2 on T1.ID1 = T2.ID1

Czy baza danych (mowie tu o popularnych bazach) moze wygenerowac rozne plany
wykonania dla takich zapytan?
Czy mogą być jakies inne roznice? Ktory sposob zapisu preferujecie i dlaczego?
 #2  
26.02.2005, 18:09
Moneetor
Dnia 05-02-26 18:23, Użytkownik maruszek napisał:
> Czy jest jakas roznica w dzialaniu zapytania sql, jesli raz warunek polaczenia
> tabel zapiszemy w WHERE:
> select * from T1, T2 where T1.ID1 = T2.ID1
>
> a drugi raz zrobimy polaczenie przez JOIN:
> select * from T1 join T2 on T1.ID1 = T2.ID1
>
> Czy baza danych (mowie tu o popularnych bazach) moze wygenerowac rozne plany
> wykonania dla takich zapytan?
> Czy mogą być jakies inne roznice? Ktory sposob zapisu preferujecie i dlaczego?
>Z tego co się orientuję where w takim kontekscie nawet jeśli zostanie

wykonane, nie stworzy tobie relacji między tymi dwiema tabelami.
Dostaniesz wyciąg z 2ch niezwiązanych ze sobą tabel. W przypadku join
masz zachowaną pełną relację między tabelami a dodatkowo where pomoże ci
ograniczyć uzyskany wynik do kryteriów następujących po where.

Pozdrawiam Moneetor
 #3  
26.02.2005, 18:37
Filip Sielimowicz
Użytkownik "maruszek" <maruszekWYTNIJTO> napisał w wiadomości
news:b09d
>
> Czy jest jakas roznica w dzialaniu zapytania sql, jesli raz warunek

polaczenia
> tabel zapiszemy w WHERE:
> select * from T1, T2 where T1.ID1 = T2.ID1
>
> a drugi raz zrobimy polaczenie przez JOIN:
> select * from T1 join T2 on T1.ID1 = T2.ID1
>
> Czy baza danych (mowie tu o popularnych bazach) moze wygenerowac rozne

plany
> wykonania dla takich zapytan?
> Czy mogą być jakies inne roznice? Ktory sposob zapisu preferujecie i

dlaczego?

Zaawansowanym bazom danych nie powinno to zrobić różnicy. Po prostu będą
się starać zrobić plan jak najwydajniejszy i tyle.
Ale nie wszystkie "popularne bazy danych" są zaawansowane. Nie jestem
pewien,
jak się np. zachowa Interbase 6.0 czy FireBird.
 #4  
26.02.2005, 20:49
Sebastian
Użytkownik "Moneetor" <moneetor> napisał w wiadomości
news:4dk1
> Dnia 05-02-26 18:23, Użytkownik maruszek napisał:
> Z tego co się orientuję where w takim kontekscie nawet jeśli zostanie
> wykonane, nie stworzy tobie relacji między tymi dwiema tabelami.
> Dostaniesz wyciąg z 2ch niezwiązanych ze sobą tabel. W przypadku join masz
> zachowaną pełną relację między tabelami a dodatkowo where pomoże ci
> ograniczyć uzyskany wynik do kryteriów następujących po where.
>
> Pozdrawiam Moneetor


Nie rozumiem o co Ci chodzi w stwierdzeniu "wyciąg z 2ch niezwiązanych ze
sobą tabel". Wynik obu zapytan jest ten sam, w zadnym wypadku nie beda to
dwie tabele. Wiec nie ma mowy o tworzeniu relacji miedzy nimi. Jednak moga
powstac dwa rozne plany wiec i szybkosc wykonania moze byc rozna. Zalezy co
zrobi optymalizator.
Ja preferuje sposob z JOIN-em, gdyz moim zdaniem lepiej on obrazuje jak
lacze tabele. Jednak w warunku ON podaje tylko warunek zlaczenia tabel a nie
predykaty selekcji. Predykaty takie umieszczam w klauzli WHERE gdyz tam jest
dla nich miejsce i licze ze optymalizator i tak zrobi wszystko skutecznie.

Sebastian
Podobne wątki
"Lód" Jacka Dukaja, "Les Bienveillantes" Jonathana Littella i "Against the Day" Thomasa Pynchona

Recenzję porównującą tytułowe powieści udostępniliśmy na Stronicach Dukaja, obok innych nowości. Zapraszam, Łukasz Bujak [..]

Typowy zestaw ikon "otwarcie pliku","zapis","wydruk", itd

Witam! W jaki sposób najsensowaniej pobrać/wykorzystać ikony znajdujące się w większości aplikacji typu "nowy","zapis",itd ? Chodzi o ikonki na pasku w górnej częsci okna...

[przeczytane] K. Bunsch - "Wawelskie wzgórze", "Wywołańcy", "Przełom"

Ostatnia część (w sensie tematycznym) powieści Piastowskich Bunscha dzieje się za czasów Władysława (czy też po Bunschowemu Włodzisława) Łokietka, a więc koniec rozbicia...

(obejrzane) "The Grudge", "The Ring", "Dark Water" - maraton nocny

„The Grudge” – swietny film o klatwie ciazacej nad domem - wszyscy ktorzy maja stycznosc z tym domem gina, to po pierwsze. Po drugie osoby te nie sa osobami...

"Gwiezdne wojny", "Imperium kotratakuje", "Powrót Jeday" - pytanie

Czy te tytuły były wydane na DVD ? Robert.


Czasy w strefie GMT. Teraz jest 07:27. | Privacy Policy