konto usunięte
Temat: (+)= ????
co oznacza (+)= w w warunku np:pole(+)=pole2 ??
Przerzucam zapytanie do innej bazy i nie znam tego znacznika. To rodzaj zlaczenia? jak wyrzuce(+) to zapytanie idzie...ale czym to zastapic?
konto usunięte
Mariusz
Łakomy
administrator baz
danych, Raben
Management Services
Sp.z ...
Bartosz
Ślepowronski
Problem? Jaki
problem?
konto usunięte
konto usunięte
Izabela
Korzińska
Architekt /
Developer ETL/TEam
Leader, Roche Polska
PIOTR MAJEWSKI:
co oznacza (+)= w w warunku np:
pole(+)=pole2 ??
Przerzucam zapytanie do innej bazy i nie znam tego znacznika. To rodzaj zlaczenia? jak wyrzuce(+) to zapytanie idzie...ale czym to zastapic?
SELECT kt.ID
, ul.ID
FROM kth_kontrahenci kt
, umo_umowy ul
WHERE kt.ID = ul.kth_kontrahent_id(+)
AND ul.data_zawarcia(+) >= '2009-01-01'
SELECT kt.ID
, ul.ID
FROM kth_kontrahenci kt
, umo_umowy ul
WHERE kt.ID = ul.kth_kontrahent_id(+)
AND ul.data_zawarcia >= '2009-01-01'
Janusz Rafał
Szpiglewski
http://www.youtube.c
om/watch?v=uuTpKX82i
-Q
konto usunięte
Konrad
Jaszczuk
IT Consultant.
PRINCE2
Practitioner. ITIL
Certified. PMI ...
Dawid Glowacki BI/DW/ETL Consultant
Izabela
Korzińska
Architekt /
Developer ETL/TEam
Leader, Roche Polska
Dawid Glowacki:
Ta składnia jest rzeczywiście stara, typowo Oraclowa, i mniej czytelna niż JOIN według ANSI SQL.
Ale o dziwo jest nadal powszechnie używana nawet w nowo produkowanym kodzie, co potrafi czasem denerwować, szczególnie kogoś kto myśli już według ANSI SQL:)
konto usunięte
Piotr Wolański Programista
Przemysław R.:
wyobraźcie sobie że pracowałem na bazie bez Joinów, a mowa tu o Informixie w jakiejś archaicznej wersji
to jest dopiero zabawa
konto usunięte
Piotr Wolański:
Przemysław R.:
wyobraźcie sobie że pracowałem na bazie bez Joinów, a mowa tu o Informixie w jakiejś archaicznej wersji
to jest dopiero zabawa
Ja nadal pracuję na Informixie ...
ale Informix ma joiny (przynajmniej wersja z 1995 r.)
Outer też ma...
Nie używa tylko słowa JOIN
SELECT c.customer_num, c.lname, c.company,
c.phone, u.call_dtime, u.call_descr
FROM customer c, OUTER cust_calls u
WHERE c.customer_num = u.customer_num
Mariusz
Masewicz
Prawie wszysko o
bazach danych Oracle
:-)
Izabela Korzińska:
Dawid Glowacki:
Ta składnia jest rzeczywiście stara, typowo Oraclowa, i mniej czytelna niż JOIN według ANSI SQL.
Ale o dziwo jest nadal powszechnie używana nawet w nowo produkowanym kodzie, co potrafi czasem denerwować, szczególnie kogoś kto myśli już według ANSI SQL:)
Mnie strasznie wnerwia :)
Dziś znalazłam kilka kursorów z takim kodem. W klauzuli FROM - 20 tabel, każda z jedno- lub dwuliterowym aliasem. W WHERE
warunki łączące te tabele, których już w pewnym momencie nie widać na górze ekranu, przemieszane z warunkami filtrującymi.
wszędzie nadźgane tymi plusami. Fuuuuj :)
W dodatku nie da się połączyć 3 tabel tak, jakbyśmy używali samych left joinów, łączących poprzednią z następną.
Piotr Wolański Programista
Dawid Glowacki BI/DW/ETL Consultant
Piotr Wolański:
Ja tam jednak wolę składnię z (+) jest dużo czytelniejsza
zwłaszcza, jeżeli w jednym zapytaniu łączy się kilka(-naście) tabel w tym kilka outer join do tabeli bazowej
(optymalizator też może się wykazać ;) łącząc tabele w innej kolejności)
Mariusz
Masewicz
Prawie wszysko o
bazach danych Oracle
:-)
Piotr Wolański:
Ja tam jednak wolę składnię z (+) jest dużo czytelniejsza
zwłaszcza, jeżeli w jednym zapytaniu łączy się kilka(-naście) tabel w tym kilka outer join do tabeli bazowej
(optymalizator też może się wykazać ;) łącząc tabele w innej kolejności)
Dawid Glowacki BI/DW/ETL Consultant
Mariusz Masewicz:
dla mnie "outer join" tez jest czytelniejsze - ale dopiero po kilku latach walki z samym soba moge to powiedziecm wczesniej preferowalem (+))
Następna dyskusja: