Připojte se vs Vnitřní připojení
V tomto světě řízeném komunikací musíme samozřejmě s daty nakládat efektivně, protože komunikace je především o přenosu dat. K tomu máme databáze jako MS Access, SQL Server, Oracle atd., Které ukládají a načítají naše data pro naše každodenní účely. Už jste někdy vyzkoušeli databázi? Manipulace s DB není tak těžké - i vy to můžete vyzkoušet! Vše, co potřebujete, jsou syntaxe pro manipulaci nebo načítání obsahu databází. Vysvětleme syntaxi „Připojit se“ a „Vnitřní spojení“ a zjistěte, zda se liší ve svých funkcích nebo výkonech.
Co je 'Připojit'v databázi?
Syntaxe 'Připojit' je schopna načíst odpovídající sloupce ze dvou nebo více databází nebo databázových tabulek. Databáze jsou vždy vizualizovány jako tabulky a jsou to skutečné jednotlivé jednotky, které uchovávají data ve formě sloupců a řádků. Každá tabulka je vytvořena pomocí identifikačního klíče, který zůstává jedinečný pro každý řádek. Všechny naše manipulace jsou založeny na těchto klíčích - můžete se naučit, jak je používat, čtením dále. Než se přesuneme k rozdílům, podívejme se na obecnou syntaxi 'join'.
VYBRAT Název sloupce
Z Stůl 1
PŘIPOJIT Tabulka 2
NA Table1.Column_name = Table2.Column_name.
Výše uvedená syntaxe načte všechny odpovídající řádky pro zadané názvy sloupců z tabulek - Table1 a Table2. Můžete si všimnout, že Column_name je identifikační klíč v obou tabulkách a výše uvedený dotaz porovnává ty, aby nalezl odpovídající řádky..
Co dělá 'Vnitřní spojení' ano?
'Inner Join' je syntaxe SQL, která je funkčně stejná jako syntaxe 'Join'. Pokud ve výše uvedeném dotazu SQL nahradíte 'Připojit' s 'Vnitřní připojení', získáte stejný výsledek! Šokující, že? Tak proč máme dvě různé syntaxe, abychom vykonávali stejnou funkci? Nyní se většina z vás asi zajímá; proč se můžete dozvědět dalším čtením.
Pro lepší pochopení se podívejte na následující obrázek.
Na obrázku nahoře si můžete všimnout přítomnosti 'Inner join' a pro 'join' neexistuje žádná samostatná syntaxe. To výslovně dokazuje, že obě syntaxe jsou stejné a nevyžadujeme další diagram zobrazující spojení..
Proč dvě různé syntaxe pro stejnou funkci
Existuje více typů „Připojit se“, například „Vnější připojení“, „Levé připojení“ a „Správné připojení“. Tyto syntaxe „spojení“ se významně liší ve svých funkcích a my musíme být konkrétní při uvádění správné. Jen proto, že „spojení“ i „vnitřní spojení“ plní stejnou funkci, můžeme při kódování zanedbat slovo „vnitřní“. Někdy může mezi kolegy vývojáři vyvstávat nejasnost, pokud jde o typ „spojení“, který vývojář zmínil. Toto je běžný problém s nově trénujícími vývojáři; nováčci musí být konkrétní v písemném prohlášení o spojení. Můžeme tedy říci, že máme jasné prohlášení o „vnitřním spojení“, abychom se vyhnuli záměně s ostatními typy „spojení“. Doporučujeme našim čtenářům, aby pokračovali a používali jasné syntaxe, místo aby šli za nejednoznačné.
Dotazy SQL nejsou omezeny na několik databází a používáme je v celé řadě databází, jako je SQL Server, MS Access, Oracle atd. Pokud vezmeme v úvahu databázi MS Access, nikdy nepřijme jednoduché „Připojte se“! Ano, přijímá jej pouze tehdy, když zadáte typ spojení (například „Vnitřní připojení“, „Vnější připojení“, „Levé připojení“ a „Správné připojení“), které použijete ve svém dotazu. Proto, pokud máte v úmyslu použít stejné nebo podobné syntaxe v různých databázích, měli byste do svého dotazu pravděpodobně napsat 'Vnitřní připojení' místo pouhého 'připojit'. Existuje rozdíl, i když oba dělají stejnou práci.
Většina lidí si myslí, že 'join' a 'Inner join' nejsou stejné; k jejich překvapení mají stejnou funkčnost i výkon. Můžeme říci, že SQL považuje „spojení“ za krátkou formu „vnitřního spojení“. I když se nejedná o technicky správné tvrzení, můžeme to pro snadnější pochopení vyjádřit takto. Nezapomeňte však ještě několik stisknutí kláves zadáním „Vnitřní připojení“ - může vás zachránit před dalšími problémy, které jsme diskutovali výše.
Jaký je nejlepší postup, použít “Připojit'nebo 'Vnitřní spojení'?
Doporučujeme použít „Vnitřní připojení“ v dotazech, kde jste plánovali použít pouze „připojit“. První z nich dává smysl a vypadá jasně! Navíc nebude žádná nejasnost, pokud jde o to, jaký typ spojení se programátor zamýšlel použít. Ostatní programátoři navíc nebudou vyžadovat vaši pomoc pro účely dokumentace nebo porozumění. Nyní se podívejme na následující tabulku a shrnume, jak se obě syntaxe liší.
S. Ne | Připojit | Vnitřní spojení | |
1 | Syntax | VYBRAT Jména sloupců Z Stůl 1 PŘIPOJIT Tabulka 2 NA Table1.Column_name = Table2.Column_name. | VYBRAT Jména sloupců Z Stůl 1 VNITŘNÍ SPOJENÍ Tabulka 2 NA Table1.Column_name = Table2.Column_name. |
2 | Pro vývojáře | Pouhé prohlášení „připojit“ vytváří nejasnost ohledně typu „připojit se k vývojáři“. | Použití kódu „Vnitřní spojení“ v kódu je velmi jasné a tvoří samokokumentovaný kód pro ostatní vývojáře. |
3 | MS Access DB | Přijímá jednoduché prohlášení „připojit se“. | Přijímá prohlášení „Vnitřní spojení“. |
4 | Krátká forma | To lze považovat za krátkou formu a nelze ji dále zkracovat. | „Vnitřní spojení“ lze zkrátit na „připojit“. |
5 | Který je lepší? | Ačkoli 'join' znamená to samé jako 'Inner join', dobrý vývojář by měl používat jasné syntaxe, aby se vyhnul nejasnostem. | 'Vnitřní spojení' je lepší, i když je ekvivalentem 'spojení' jak ve výkonu, tak ve funkci. |