Subselecty a možnost jejich obejití

Asi si dokážete všichni představit případy, kdy je pro nějaký složitější dotaz potřeba použít subselect (select v selectu). Já jsem zatím takto složitější dotaz potřeboval pouze několikrát a u všech těchto praktických případů bylo možné stejného výsledku dosáhnout i pomocí dočasné tabulky (temporary table), čímž se potřeba subselectu odstranila.

Mám dotaz na zkušenější SQLkáře - lze vždy, nebo aspoň v drtivé většině případů nahradit subselect pomocí temporary table (pokud používáme starší verzi sql kde ještě subselecty nejsou, kontrétně 4.0.27)?
A druhá otázka - dá se stejného výsledku dosáhnout dokonce i bez možnosti použít temporary table? (Když je na hostingu zakázáno)?

(Pochopitelně dá pomocí více sql dotazů a složitějšího zpracování pomocí php, ale tohle teď nemyslím, mluvím o jediné MySQL_Query funkci.)
nevím, jestli jsem v SQL zkušenější, ale jde hodně o to, co daný subselect provádí. Kde se daný subselect nachází.
Pokud je mezi select a from tak to se dá obejít join-em
pokud je ve where, tam je to složitější. Je to podle mě případ od případu.
Moc se mi nad tím teď nechce přemýšlet a vymýšlet všechny možné případy.
Určitě ale existují případy,kdy to nepůjde jinak jak více dotazy...
Subselect ve FROM jsem nikdy potřebu použít neměl, asi proto, že jsem věděl že subselecty použít nemůžu, tak jsem automaticky hledal řešení s joinem a našel.

Ale jakmile jsem narazil na nutnost použít select v části WHERE, nastal problém.

Jeden příklad kde ho obešli dokonce i bez temporary table je přímo v dokumentaci sql:
http://dev.mysql.com/doc/refman/4.1/en/example-maximum-column-group-row.html
Ale vždycky to asi nepůjde, navíc píší jak neefektivní ten dotaz je.


Otázka se prostě dá formulovat i jednoduše:
Jaká je podle vás použitelnost hostingu, kde mají pouze mysql 4.0.27 a navíc mají zakázáno vytváření temporary table.
O kterém hostingu je řeč? Na WZ teď jede 5.0.22.

Odpověď: existují různé hostingy a možnost si vybrat. Konkurence je příjemná věc. :-)

Jinak z mého pohledu to je jedno. Subselecty nepoužívám, takže bych do tohoto tématu vlastně neměl co kecat...
Podle meho nijaka. V soucasnosti je na velkem rozkvetu MYSQL 5 s triggery, pohledy, procedurami ..., 4.1 povazuji za jakysi standard. Pokud hosting jede na 4.0 a potrebujes provadet neco slozitejsiho nez

SELECT * from hraci

sel bych od valu a podival se na konkurenci, ktera je stojiste lepsi.
Pochopitelně není řeč o WZ ;)

Já jim tu "reklamu" klidně udělám, protože se tam o tom omezení nikde nedočtete takže se klidně můžete nachytat jako já.
Jde o www.hosting-zdarma.cz (poznámka aby nedošlo k mýlce - NENÍ to free hosting).

Ale nepsal bych to tu, kdyby tam admini neragovali na stížnosti takovým stylem jakým reagovali (jako bych já byl ten špatný když si nedokážu vystačit bez subselectu, mimochodem sami nedávno psali, že se dá nahradit pomocí temporary table, asi sami netušili že ho mají zakázaný), ale to je fuk, to tady nepatří.