Vývoj databází internetových zdrojůprakticky se neliší od standardních databází vyvinutých v MS SQL SERVER. Obvykle je pro takové prostředky používán jazyk MY SQL, ačkoli může být použit i pro vývoj standardních softwarových produktů pro místní použití. Ale tento článek není o tom.
Často při práci s databázemi v každé z nichjazyky je úkolem výběru dat pro výstup v různých sestavách, grafech a tak dále. Při provádění těchto úkolů je zpravidla nutné používat ne jediný, ale několik tabulek, kombinovat je do jednoho dotazu, což značně komplikuje jeho konstrukci. Zároveň je třeba vzít v úvahu, jak budou data vygenerována, jak budou tabulky "vytaženy" a jaký výsledek bude pro programátora nejpřijatelnější. K vyřešení takových problémů patří jeden ze standardních konstrukcí jazyka MySQL.
Jazyky vývoje databází, nezáleží na tom, co přesněto je jazyk, standardní slova z anglických slovníků se používají jako základ (proto, pokud znáte angličtinu, bude pro vás mnohem jednodušší pracovat s tabulkami). Chcete-li provést připojení tabulky ve vzorku, použije se stejné slovo - Připojit. V databázovém programovacím jazyce se používá My SQL. Překlad tohoto oficiálního slova je přesně stejný jako v samotném jazyce - "sjednocení".
Interpretace konceptu MySQL-Join avšechny z nich budou přesně stejné. Pokud dešifrujeme účel návrhu, jmenovitě schéma jeho provozu, získáváme následující význam: konstrukce umožní shromáždit potřebná pole z různých tabulek nebo vnořených dotazů do jednoho vzorku.
Pokud programátor potřebuje sbírat vzorekněkolik tabulek a ví, jaké klíčové pole v nich a jaké přesné údaje jsou potřebné pro zprávu, pak lze použít jeden ze základních návrhů odboru k dosažení požadovaného výsledku. Základní konstrukce (pro spojovací stoly) jsou čtyři:
V závislosti na úkolu, každý ze standardních designů bude dávat různé výsledky, které budou přijímat zprávy o různých parametrů v krátkém časovém období.
Než začnete, zvažte napříkladmechanismy pro práci s datovými federacemi, stojí za to připravit několik tabulek, s nimiž budeme i nadále pracovat. To vám pomůže vizuálně ukázat všechny principy operátorů, navíc je pro začátečníky snadnější se naučit všechny základy programovacích tabulek.
První tabulka popisuje některé položky, které se člověk neustále setkává po celý život.
Ve druhé tabulce popisujeme některé vlastnosti objektů z první tabulky, abychom s nimi mohli v budoucnu pracovat.
Obecně platí, že dvě tabulky stačí ukázat svou práci příkladem. Nyní můžete začít zvažovat naše návrhy.
Při použití konstrukce MySQL - Připojte se k Ineerustojí za to zvážit některé z jeho vlastností. Tento návrh umožňuje vybrat z obou tabulek pouze ty záznamy, které jsou v první i druhé tabulce. Jak to funguje? V první tabulce máme hlavní klíč - ID, který označuje sériové číslo záznamů v tabulce.
Při vytváření druhé tabulky je stejný klíčPoužívá se jako sériové číslo, příklad lze vidět na obrázcích. Když vyberete data, operátor Select určí pouze záznamy, jejichž pořadové čísla jsou stejná, což znamená, že existují v první i druhé tabulce.
Při použití konstrukce,jaké údaje je nutné obdržet. Nejčastější chybou, zejména pro začátečníka databázového programátora, je iracionální a nesprávné použití návrhu Inner Join. Jako příklad MySQL Inner Join, můžete zvážit skript, který se k nám vrátí z dříve popsaných a vyplněných tabulek informace o objektech a jejich vlastnostech. Existuje však několik způsobů, jak tuto strukturu použít. V tomto ohledu je My SQL velmi flexibilním jazykem. Takže můžete vzít v úvahu příklady používání MySQL Inner Join.
Kombinace tabulek bez zadání parametrů. V takovém případě dostaneme výsledek takového plánu:
Pokud označíme pomocí Užitkového slova Používání, žeJe nutné vzít v úvahu hlavní klíče záznamů v tabulkách, výsledek vzorku se radikálně změní. V tomto případě získáme vzorek, který vrátí pouze ty řádky, které mají stejné hlavní klíče.
Třetí možnost je také možnávytváří, když se v dotazu používá slovo "on" pro zadání polí, o které mají být tabulky připojeny. V tomto případě vzorek vrátí následující údaje:
Pokud zvažujeme jiný způsob, jak kombinovat tabulky pomocí konstrukce MySQL-Join, můžete vidět rozdíl v výstupních datech. Tento mechanismus je levý konstrukt.
Pomocí konstrukce levého sloučení MySQL má některé funkce a stejně jako Inner vyžaduje jasné pochopení výsledku, který má být dosažen.
V tomto případě budou všechny záznamy vybrány jako prvníz první tabulky a později budou připojeny k záznamům z druhé tabulky vlastností. V tomto případě, pokud je v první tabulce například položka "stolička" a v druhé tabulce nejsou pro ni žádné vlastnosti, pak levé příkazy zobrazí nulovou hodnotu naproti tomuto záznamu, který informuje programátora, že pro tento typ objektu nejsou žádné značky .
Pomocí tohoto návrhu můžete určit, které pole nebo například zboží v obchodě není vystaveno ceně, záruční době a tak dále.
Zvažovat operátora v praxiLevý Join MySQL používá dříve popsané tabulky. Například je třeba vybrat celý seznam produktů, které jsou v obchodě, a zkontrolujte, které z nich nejsou označeny značkami nebo vlastnostmi. V takovém případě vzorek zobrazí všechny produkty na obrazovce a pro ty, které nemají vlastnost, budou zobrazeny prázdné hodnoty.
Jako parametr může spojení zahrnovat nejen pole, ke kterým chcete připojit tabulky, ale také může obsahovat operátor Kde je klauzule.
Zvažte například skript, který by mělVraťte se k nám pouze ty záznamy, pro které se nezobrazuje žádné znamení. V tomto případě se v konstrukci Join musíte přidat příkaz o podmínkách a specifikovat, co přesně chcete vrátit jako výsledek.
Při použití v MySQL Join - kde musíte jasně pochopit, že budou zobrazeny pouze ty záznamy, na které se vztahuje daná podmínka a vzorek pak vypadá takto:
Takové požadavky vám umožní vzorekSpecifické údaje týkající se stavu zvoleného programátorem. Existuje několik takových podmínek, ale současně se specifikují parametry výběru dat ze sloučených tabulek.
Konstrukce Join je ve skutečnosti univerzální. Umožňuje nejen vytvářet různé vzorky, ale také zahrnout do požadavků jeden až několik tabulek, do vzorku zadejte další podmínky. Návrh může být také použit pro další datové operace. Připojit lze tedy použít k úpravě dat v tabulce. Spíše vyjasněte podmínky v tabulce nebo v těchto případech, chcete-li aktualizovat data v několika tabulkách za stejných podmínek.
Zvažte například tento problém. Jsou uvedeny tři tabulky, ve kterých jsou některé údaje. Potřebujete provést změnu dat v obou tabulkách pomocí jednoho dotazu. Chcete-li vyřešit tento druh úkolů, můžete použít příkaz Připojit ke konstrukci v příkazu Aktualizovat. Typ konstrukce Join sám závisí, jako v případě načítání dat, od výsledku, který chce programátor získat.
Zvažme nejjednodušší příklad. Potřebujete aktualizovat stejný dotaz za stejných podmínek. Tyto dotazy jsou vytvořeny tak, aby optimalizovaly práci s databází. Proč zapisovat různé dotazy pro každou tabulku, pokud můžete provádět všechny manipulace s daty jedním dotazem? Příkladem aktualizace MySQL Join v našem případě bude:
Poměrně často při práci s databázíJe třeba vytvářet dotazy nejen se sloučením několika tabulek, ale také s využitím poddotazů. Takové úkoly jsou poměrně obtížné pro pochopení programátora pro začátečníky. Obtíž je v tom, že musíte uvažovat o každém kroku, určit, z jakých dat, od kterých tabulky nebo dotazu potřebujete, a jak budete muset s nimi v budoucnu pracovat.
Pro konkrétnější pochopení,(v MySQL Join) příklady složitých dotazů. Pokud jste začátečník a právě začínáte pracovat s databázemi, takový výcvik bude mít prospěch pouze. Ideální volbou budou příklady MySQL Left Join.
Tato žádost nám vrátí 58 smluvProdej, u kterého je zůstatek prostředků na vybrané datum vyplněn nebo existuje. V tomto případě je to aktuální datum. Také ve vzorku byla doplněna podmínka, že název smlouvy by měl obsahovat symboly "123". Informace zobrazené na obrazovce (data) budou seřazeny - objednání podle čísla smlouvy.
Následující příklad zobrazí podrobnosti všech plateb, u kterých je zadáno číslo zakázky.
Jak již bylo zmíněno výše, při práci s databázemimůžete kombinovat nejen tabulky, ale také tabulku s dotazem. Tento návrh se používá hlavně k urychlení a optimalizaci dotazu.
Například, pokud je to nutné z tabulky, žemá několik stovek polí a například tisíc záznamů, vyberte pouze dvě pole, pak byste měli použít dotaz, který vrátí pouze požadovaná pole a sloučit s hlavní ukázkou dat. Jako příklad MySQL Join Select můžete zvážit dotaz tohoto typu:
Nejsou všechny způsoby použití standardníchMySQL staví, ale pouze standardní. Cesta k použití konstrukce Join a v jaké formě se programátor rozhodne, ale stojí za to pamatovat a brát v úvahu, jaký výsledek by měl být dosažen při provádění dotazu.
</ p>