NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 9 - MS-SQL krok za krokem: Dotazy přes více tabulek (JOIN)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
MrPabloz
Člen
Avatar
MrPabloz:14.4.2014 17:30

Nechápu jak může psát článek o takovém tématu nřkdo kdo je ještě na základce. Neumí to a snaží se napsat o tom článek. Tak třeba wherování, co to je za blbost, říká se tomu podmínka ;) další věc, dotaz přes více tabulek = spojování. Create table článek je taky špatně, chybí ti tam reference, outer join už dávno není, je jen Left nebo Right join a nebo pouze join. Vysvětlení spojení tabulek je taky blbost. Prostě první se to pořádně nauč a vystuduj aspon na střední než se pustíš do takových článků...

Odpovědět
14.4.2014 17:30
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na MrPabloz
Zdeněk Pavlátka:14.4.2014 17:33

Takhle kritizuj články až napíšeš lepší ;)

Odpovědět
14.4.2014 17:33
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na MrPabloz
Michal Žůrek - misaz:14.4.2014 17:36

všechen kód byl testovaný a funguje.

 
Odpovědět
14.4.2014 17:36
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na MrPabloz
David Hartinger:14.4.2014 17:39

Co jsi napsal je snůška nesmyslů, termíny jsou v pořádku. FYI článek jsem psal já na VŠ, Michal byl tak hodný, že ho portoval z MySQL i pro MS-SQL.

EDIT: Uživatele Pabloz z diskuze vykazuji a jeho další zprávy maži.

Editováno 14.4.2014 17:45
Odpovědět
14.4.2014 17:39
New kid back on the block with a R.I.P
Avatar
Ondřej Štorc
Tvůrce
Avatar
Ondřej Štorc:14.4.2014 17:47

Ony ty články projdou ještě kontrolou od David Hartinger (možná i jiných)..

Odpovědět
14.4.2014 17:47
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na MrPabloz
Michal Štěpánek:14.4.2014 21:52

Už to nehul...

Odpovědět
14.4.2014 21:52
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
turlogh
Člen
Avatar
Odpovídá na David Hartinger
turlogh:25.4.2014 7:12

Po pravdě řečeno považuji část se spojováním tabulek přes where také za naprostou blbost. Z jednoho prostého důvodu. DB engine není zase tak moc chytrý, při klasickém selectu přes více tabulek prostě provede kartézský součin obsahu tabulek a pak na něm teprve provádí dotazy. U tabulek, které mívají milióny záznamů je to zabijácký. Proto právě vznikly joiny, kde DB engine napřed vybere záznamy z první tabulky a teprve poté k nim dohrává záznamy z tabulky druhé.
A pro šťouraly ... databáze programuji již přes 20 let (oracle, mssql, firebird) a spojit 2 tabulky bez joinnu bych si snad netroufnul ani na malých číselnících (nikdy nevíš kdy ty číselníky nabobtnají)

 
Odpovědět
25.4.2014 7:12
Avatar
Odpovídá na turlogh
Michal Štěpánek:25.4.2014 7:23

Je pravda, že "můžeme se JOINům vyhýbat" není zrovna šťastně napsáno, ale myslím, že to bylo myšleno tak, že tu ta možnost je. Osobně bych též spojení tabulek pomocí WHERE nedoporučoval, nehledě k tomu, že když ve Visual Studiu naklikám SQL dotaz pomocí návrháře, tak mi VS vytvoří automaticky JOIN a nespojuje tabulky pomocí WHERE...

Odpovědět
25.4.2014 7:23
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na turlogh
David Hartinger:25.4.2014 9:22

Že to RDBMS převede na joiny jsem psal, že to nemusí být optimálnější jsem psal taky. Kde je tedy problém? Proč nazýváš korektní konstrukci "také absolutní blbostí?". Proč také? Napsal jsi jen to, co je v článku, pokud máš konkrétní nápad na úpravu, tak sem s ním. Nezlob se na mě, ale tohle je jen tlachání.

Odpovědět
25.4.2014 9:22
New kid back on the block with a R.I.P
Avatar
turlogh
Člen
Avatar
turlogh:25.4.2014 10:18

Článek je napsaný docela obstojně, až na tu část s tím "wherováním". Ukázat jak lze spojit 2 tabulky přes where se dá v části, kde se popisuje syntaxe příkazu select ... ale je dobré zmínit, že u velkých tabulek se tento postup nedoporučuje, protože je velmi náročný na čas a použitou paměť.
V článku věnovaném dotazům přes více tabulek pomocí JOIN bych naopak čekal, že autor/autoři zmíní, že toto je ta správná náhrada za "spojení tabulek přes where".
Pokud mi čistě náhodou ve vývoji některých RDBMS uniklo, že autoři udělali optimalizaci při které poznají, že "select * from A, B where A.ID=B.A_ID" má nahradit za "select * from A left join B on A.ID=B.A_ID", pak prosím ... ale silně o tom pochybuji a navíc je celá řada RDBMS, která tohle určitě neumí. Nahoře jste se obuli do MrPabloz za to, že poukázal na tato konstrukce je nevhodná ... a ona skutečně není vhodná.
Nemám zájem na flame, jen považuji za vhodné alespoň v diskusi vyjádřit názor člověka s mnohaletou praxí na to, že ne vše zmíněné v článku je dostatečně srozumitelné pro laika, aby věděl co si vybrat. Ten závěr totiž působí tak, že JOIN není nutný ... já tvrdím, že je. V naprosté většině případů. Když už nic jiného, prokáže tím autor dotazu svou odbornost.

 
Odpovědět
25.4.2014 10:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 39.