Vicenasobny JOIN

"Zíka Aleš, Ing." Ales.Zika na pel.br.ds.mfcr.cz
Čtvrtek Červen 27 12:26:16 CEST 2002


	Dobry den,

	potreboval bych vedet (konkretne u PgSQL), v jakem poradi se
vyhodcuje vicenasobny JOIN.

	Treba u dotazu: SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3
NATURAL JOIN t4; jestli se nejdriv spoji t1 s t2 a k nim pak t3 a potom T4
nebo to jde odzadu?
	Delal jsem s tim pokusy a zda se mi, ze to jde zleva doprava, ale
potreboval bych ujistit, ze je to nejaky standard a ze si to kazda DB nedela
podle sveho.

	A pak mi jeste neni uplne jasna jedna vec, kdyz probehne ten join t1
a t2, tak se vytvori jakasi "virtualni" tabulka a join t3 se pak vytvari na
ni, nikoliv jen nma samotnou t2 nebo t1, tedy pokud mi v one "virtualni"
tabulce vzniknou duplicitni jmena sloupcu (u NATURAL JOIN to asi nejde, ale
s podminkou za ON by to jit melo), tak uz na t3 a dalsi nemuzu pouzit
NATURAL nebo USING, ale jen podminku za ON a plne kvalifikovana jmena
sloupcu? Je to tak, nebo blbnu?
	Pri pokusech se mi z psql povedlo dostat hlasku "ERROR:  FULL JOIN
is only supported with mergejoinable join conditions", predpokladam, ze se
mi snazil naznacit neco takoveho, co jsem popsal vyse? Slo o dotaz: SELECT *
FROM t1 NATURAL FULL JOIN t2 NATURAL FULL JOIN t3; nad tabulkami t1(a INT, c
INT), t2(a INT, c INT) a t3(b INT, c INT).


	Dekuji za pripadne shovivave vysvetleni,

			Ales Zika
			Pelhrimov

			e-mail: Ales.Zika na pel.br.ds.mfcr.cz
				  Ales.Zika na seznam.cz
			SMS:    Ales.Zika na sms.underground.cz

 


Další informace o konferenci Test