Programování

SQL – Rychlý průvodce pro začátečníky

30. října 2021

SQL implikuje strukturovaný dotazovací jazyk. Je to doménově specifický jazyk používaný pro získávání dat uložených v databázi. SQL zpracovává data uložená v systém pro správu relačních databází (RDBMS), tedy data, která zahrnují vztahy mezi entitami a proměnnými. Strukturovaný dotazovací jazyk je kompatibilní se všemi hlavními operační systémy .

Dříve se manipulace s daty prováděla pomocí ISAM (Metoda indexovaného sekvenčního přístupu) a VSAM (způsob přístupu k virtuálnímu úložišti) . Strukturovaný dotazovací jazyk má více výhod než ISAM a VSM. Pomocí jediného příkazu v SQL můžete načíst více záznamů nebo dat. Další výhodou je, že není nutné specifikovat, jak se k datům dostanete.

Obsah

Co je SQL?

SQL je jazyk pro vytváření, manipulaci a údržbu databáze. Pomáhá také vkládat data, mazat je nebo je upravovat. Tento jazyk obsahuje více podjazyků, např jazyk pro definici dat (DDL) , jazyk pro manipulaci s daty (DML) , jazyk dotazu na data (DQL) , a jazyk ovládání dat (DCL) .

SQL se skládá z datového dotazu, definice dat, manipulace s daty a řízení přístupu k datům. Datový dotaz je příkaz používaný k načtení jakýchkoli dat z databáze. Definice dat zahrnuje definování databázového schématu a manipulace s daty zahrnuje vkládání, aktualizaci a mazání dat.

V roce 1986 se SQL stal Americký národní normalizační institut (ANSI) Standard. V následujícím roce se stal Mezinárodní organizace pro standardizaci (ISO) Standard. V roce 1970 Donald D. Chamberlin a Raymond F. Boyce vyvinul SQL v IBM.

Dříve byl znám jako SEQUEL (Structured English Query Language). Byl speciálně navržen pro ukládání a získávání dat IBM. Existují různé verze SQL vydané v letech 1989, 1992, 1996, 1999, 2003, 2006, 2008, 2011 a 2016.

SQL je základní jazyk pro všechny systémy správy relačních databází, jako jsou MySQL, Oracle, Sybase, SQL Server, MS Access, Postgres a Informix. Použití tohoto dotazovacího dialektu má řadu výhod. SQL umožňuje uživatelům přístup k informacím z libovolného systému správy relačních databází.

Uživatelé mohou data definovat, upravovat nebo mazat pomocí SQL. Tento dialekt můžete také vložit do jakéhokoli jiného programovacího jazyka, kde je vyžadováno načítání dat. Umožňuje uživatelům generovat a nastavovat oprávnění k uloženým procedurám, funkcím a pohledům.

Nyní víme o SQL a jeho historii. Nyní se zaměřme na systém správy relačních databází (RDBMS). PL/SQL, Rozšíření procedurálního jazyka na SQL , pomáhá rozšířit SQL a poskytuje mu procedurální schopnosti

Databáze RDBMS

Viděli jsme, že SQL používá mnoho databází RDBMS, jako je MySQL, SQL Server, Oracle, MS Access atd. Proto se v této části seznámíme s několika databázemi RDBMS. Uvidíme vlastnosti každé databáze a pak můžeme uznat rozdíl mezi nimi.

jeden. MySQL:

Švédská společnost MySQL AB vyvinula MySQL databáze, která je zdarma k použití a open source. MySQL je kompatibilní se všemi hlavními systémy, jako je Microsoft Windows, Linux operační systémy Unix a macOS. Můžete využít jeho komerční i nekomerční verze. Podle verzí jsou vám poskytovány funkce. Zahrnuje robustní, rychlejší, vícevláknový a víceuživatelský databázový server.

V roce 1994 Micheal Widenius a David Axmark vyvinuli MySQL a je vyslovováno v kontextu „my ess-que-ell“. 23. května 1995 byla spuštěna první verze databáze MySQL. Tato databáze byla kompatibilní se systémem Windows 8. ledna 1998. Poprvé byla vydána pro Windows 95 a NT.

The MySQL verze 3.23: beta byla vydána mezi červnem 2000 a lednem 2001. Další verze, 4.0: beta, byla spuštěna mezi srpnem 2002 a březnem 2003. Od června 2004 do října 2004 byla vydána verze 4.1: beta. Následující verze, 5.1: beta, byla vyráběna od března 2005 do října 2005. Později v roce 2008 byla MySQL koupena společností Sun Microsystems a poté byla spuštěna nejnovější verze 5.2: beta.

Funkce:

MySQL nabízí vysoký výkon, vysokou dostupnost a flexibilitu pro spuštění čehokoli. Podporuje také výkonné transakce. Všechna data v databázi MySQL jsou chráněna a vysoce zabezpečena. Je volně dostupný a open source.

dva. Věštec:

Věštec je jednou z široce používaných relačních databází s víceuživatelskými a rozsáhlými systémy správy. Oracle Corporation spustila relační databázi Oracle. Tento DBMS je nejvhodnější pro operace klient/server. Několik klientů může přistupovat k datům a odesílat je přes síť. Oracle je kompatibilní s klientskými a serverovými systémy, jako jsou UNIX, UnixWare, OS/2, NetWare a MSDOS.

Larry Ellison, Ed Oates a Bob Miner vyvinuli databázi Oracle v roce 1977 a založili Software Development Laboratories. V roce 1979 byla v následujících dvou letech vydána verze 2.0 Oracle, první komerční verze Oracle. Změnili název Software Development Laboratories na Relational Software Inc. (RSI). Tato organizace byla později v roce 1982 pojmenována Oracle Corporation. Další verze, 3.0, byla spuštěna v roce 1983 v jazyce C. Oracle verze 4.0, vyvinutá v roce 1984, obsahuje pokročilejší funkce, jako je konzistence čtení ve více verzích, kontrola souběžnosti atd. Oracle 11g, nejnovější verze, byla uvedena na trh v roce 2007.

Relační databáze Oracle zahrnuje pokročilejší funkce, jako je souběžnost, zamykací mechanismus, SQL Plus, správce zdrojů, dolování dat, dělení, datové sklady, paralelní spouštění atd.

3. MS SQL Server:

Relační databáze od Microsoftu je MS SQL Server . Primárním cílem této databáze je ukládat a získávat data v databázi. Je kompatibilní s Microsoft Windows, Linux a Windows Server operační systémy. MS SQL Server umožňuje jakékoli softwarové aplikaci, která je přítomna na stejném počítači nebo jiném počítači nebo v síti, získávat data. Využívá databázové jazyky ANSI SQL a T-SQL.

Zpočátku, v roce 1987, byl SQL Server vyvinut pro systémy UNIX společností Sybase. V následujícím roce Microsoft, Aston-Tate a Sybase vydaly SQL Server 1.0 pro OS/2. Pro uživatele Windows 3.0 byla verze 1.1 SQL Server uvedena na trh v roce 1990. Později společnost Aston-Tate opustila organizaci a Micorosft vydal SQL Server 2000 v roce 2000. V příštím roce byl pro tuto databázi vyvinut XML. SQLXML 2.0 vyvinuté v roce 2002 a později vydané SQLXML 3.0. Nejnovější verze, SQL Server 2005, byla vyvinuta 7. listopadu 2005.

MS SQL Server nabízí zrcadlení databáze, spouštěče DDL, bezproblémovou integraci XML, databázovou poštu, vysoký výkon a vysokou dostupnost.

čtyři. MS Access:

Další oblíbenou relační databází je MS Access. Stejně jako výše uvedená databáze je i MS Access produktem společnosti Microsoft. Tento DBMS se používá pro malé podniky a je výjimečně levný. Obsahuje databázový stroj Jet. Tento stroj se také nazývá Jet SQL, protože používá jazyk SQL.

V roce 1992 byl vyvinut první MS Access verze 1.0. V příštím roce byl vyvinut s programovacím jazykem Access Basic pro zlepšení kompatibility. Později byl spuštěn Access 2007, který používal formát ACCDB. Tato verze MS Access je pokročilá a obsahuje komplexní datové typy a pole s více hodnotami.

MS Access používá makra pro připojené tabulky, formuláře, sestavy a dotazy. Pomocí tohoto systému můžete exportovat a importovat svá data do několika formátů, jako je ASCII, Oracle, ODBC, SQL Server atd. Formát Jet drží aplikaci a její data pohromadě v jednom souboru. Sdílení jakékoli aplikace je proto snadné. Nepodporuje databázové spouštěče, uložené procedury a protokolování transakcí, protože jde o systém založený na souborovém serveru.

Co je RDBMS?

Téměř všechny současné databázové systémy, jako je SQL, Oracle, MySQL, Microsoft Access atd., používají systém správy relačních databází. Tento databázový systém je založen na relačním modelu. E. F. Codd navrhl systém správy relačních databází. Existují určité prvky v RDBMS, které potřebujete znát, než přejdeme k SQL. Pojďme diskutovat o každém aspektu níže.

jeden. Stůl:

V RDBMS jsou data uložena ve formě tabulky. Tato tabulka se nazývá objekt. Nazývá se také a vztah . Tabulka v RDBMS má řádky a sloupce. Každá tabulka v RDBMS má specifický název tabulky. Tabulka je považována za nejjednodušší formu ukládání dat.

Uvažujme tabulku s názvem tabulky ‚Student.‘ Informace o studentech uložíme do tabulky Student, například Jméno, Věk, ID_studenta a Město.

názevStáříStudent_IDMěsto
Steve231092New York
Olivere241093Andělé
Robertedvacet jedna1094Chicago
Marie251095Kalifornie
Jennifer231096New York
James221097Washington DC
Johndvacet jedna1098Kalifornie
johnny241099Chicago

Výše uvedená tabulka poskytuje informace o studentech.

dva. Pole:

Dalším prvkem RDBMS je pole. Pole je menší entita tabulky. Například ve výše uvedené tabulce jsou pole ‚Student,‘ Name, Age, Student_ID a City. Každý sloupec v tabulce je tedy pole, ve kterém jsou uloženy konkrétní informace nebo záznamy.

3. Řádek:

Řádek se také nazývá záznam. Záznam nebo řádek obsahuje informace o konkrétní entitě. Ve výše uvedené tabulce „Student“ je osm různých řádků nebo záznamů. Jinými slovy, výše uvedená tabulka obsahuje údaje osmi různých studentů. Jedna horizontální entita je řádek nebo záznam. Následuje řádek nebo záznam z tabulky ‚Student.‘

|_+_|

čtyři. Sloupec:

Viděli jsme, že řada je horizontální entita. Na rozdíl od řádku je sloupec vertikální entita. Sloupec obsahuje všechna data související s polem. V tabulce ‚Student‘ jsou pole Jméno, Věk, ID studenta a Město. Proto sloupec s polem ‚Jméno‘ obsahuje jména studentů. Tento sloupec je reprezentován následovně:

|_+_|

5. NULA:

Pokud v určitém poli nejsou žádná data nebo je v poli prázdné místo, je takovou hodnotou hodnota NULL. Hodnota NULL není stejná jako nula. Při vytváření záznamu je ponechán prázdný.

Základy SQL

Naučíme se všechny základy SQL v tomto segmentu, jako je syntaxe, zpracování dotazů, omezení, příkazy a normalizace databáze.

Syntaxe SQL

SQL dotaz obsahuje několik prvků pro získání dat z databáze. Níže jsou uvedeny komponenty zahrnuté v dotazu.

    klauzule:

Klauzule jsou volitelnou součástí dotazu. Jsou to prvky dotazu. Například UPDATE, SET, WHERE atd. jsou klauzule.

    Výrazy:

Výsledkem výrazů v dotazu jsou data ve formě tabulky s řádky a sloupci. Řádek se nazývá „n-tice“ a sloupec se nazývá „atribut“.

    Predikáty:

Predikáty jsou podmínky, které vytvářejí tříhodnotovou logiku (pravda/nepravda/neznámá).

    dotazy:

Dotazy získávají požadovaná data z databáze pomocí podmínek.

    prohlášení:

Příkazy řídí tok programu, transakce, připojení atd. Může také obsahovat středník „;.“

    Bezvýznamné mezery:

V dotazu SQL se neberou v úvahu nežádoucí mezery, takže je srozumitelnější a čitelnější.

Zde uvidíme malé příklady pomocí tří klauzulí, update, set a where.

  1. AKTUALIZOVAT věk;

Výše uvedený dotaz aktualizuje atribut age.

  1. SET věk = věk+2;

Výše uvedené zahrnuje výraz ‚věk+2‘, který zvyšuje věk o dva a výsledek je přiřazen k věku.

  1. WHERE emp_name = ‚Jan‘;

Zde je ‚emp_name = ‚John‘ predikát a ‚John‘ je výraz.

Zpracování dotazu

Dotazy v SQL jsou zpracovávány tak, aby byly převedeny na nízkoúrovňové výrazy, které jsou srozumitelné pro počítače. Jakékoli zpracování dotazu zahrnuje několik komponent, jako je analyzátor, překladač, evoluční stroj, databáze atd. Dotaz na vysoké úrovni je transformován do výrazů, které jsou kompatibilní s fyzickou úrovní systému souborů. Níže je schéma znázorňující, jak je dotaz zpracováván a optimalizován pro jeho implementaci na fyzické úrovni.

img 617dd1be21877

Nejprve je dotaz na vysoké úrovni převeden na srozumitelný výraz, tj. algebraický výraz. Během tohoto převodu dotaz prochází několika fázemi, jak ukazuje výše uvedený diagram. V první fázi analyzátor zkontroluje syntaxi dotazu a sleduje, zda jsou příslušné vztahy a atributy správné. Překladač transformuje dotaz na interní reprezentaci, která je předána optimalizátoru.

Optimalizátor dotazů převede vnitřní reprezentaci dotazu na výrazy, které lze spustit. Tyto výrazy jsou pak provedeny modulem DBMS nebo modulem pro vyhodnocení dotazů. Výsledek enginu DBMS je dán fyzické úrovni databáze.

Klauzule SQL

Klauzule v SQL je součástí dotazu. V SQL existuje několik klauzulí. Podívejme se podrobně na každou klauzuli se syntaxí níže.

    Klauzule SELECT:

Pokud chcete načíst data ze zadaných sloupců nebo řádků, můžete použít klauzuli SELECT. Může také načíst data z řádků více tabulek nebo pohledů. Výsledná sada příkazu select je také tabulka.

Syntax:

|_+_|
    DISTINCT doložka:

Klauzule DISTINCT se používá s klauzulí SELECT. Vrací jedinečné a odlišné hodnoty. V sadě výsledků nejsou přítomny žádné duplicitní hodnoty.

Syntax:

|_+_|
    Ustanovení WHE:

Klauzule Where se používá k určení podmínky pro načtení dat. Zobrazí pouze řádky, které jsou specifikovány podmínkou.

Syntax:

|_+_|
    GROUP BY:

Tato klauzule seskupuje řádky, které mají podobné hodnoty, do jedné sady výsledků. Klauzule GROUP BY se vždy používá v dotazu s funkcemi jako SUM, MAX, MIN, COUNT a AVG.

Syntax:

|_+_|
    SEŘADIT PODLE:

Pokud je potřeba seřadit výsledek vzestupně nebo sestupně, můžete použít příkaz ORDER BY. Ve výchozím nastavení tento příkaz seřadí výsledek vzestupně. Pokud si přejete uspořádat sadu výsledků v sestupném pořadí, můžete v dotazu zadat „desc“.

Syntax:

|_+_|
    MAJÍCÍ:

Primárním cílem klíčového slova HAVING je, že se používá pouze s agregačními funkcemi, jako je SUM, MIN, MAX, COUNT a AVG. Klíčové slovo WHERE není kompatibilní s agregačními funkcemi.

Syntax:

|_+_|

Příkazy v SQL

Příkazy SQL jsou rozděleny do pěti různých typů, DDL, DML, DQL, TCL a DCL. Každý z těchto tří typů budeme podrobně znát níže.

    DDL:

Jazyk pro definici dat se skládá ze čtyř příkazů SQL, create, alter, trucate a drop. Tyto příkazy se používají pro změnu struktury tabulky. Všechny jsou automaticky potvrzeny, tj. změny provedené ve struktuře tabulky jsou uloženy trvale.

Příkaz create table se používá k vytvoření nové tabulky, pohledu na tabulku nebo jakéhokoli jiného objektu v databázi.

Syntax:

|_+_|

Příklad:

|_+_|

Další příkaz, alter, se používá k úpravě nebo provádění změn v existujícím pohledu nebo tabulce. Pomocí příkazu alter můžete do tabulky přidat nový sloupec nebo změnit stávající sloupec konkrétní tabulky.

Syntax:

|_+_|

Příklad:

|_+_|

Příkaz truncate DDL odstraní všechny řádky z tabulky. Všimněte si, že neodstraní tabulku.

Syntax:

|_+_|

Příklad:

|_+_|

Nakonec příkaz drop odstraní tabulku nebo pohled. Zcela odstraní strukturu tabulky a data uložená v tabulce.

Syntax:

|_+_|

Příklad:

|_+_|
    DML:

Jazyk pro manipulaci s daty obsahuje tři příkazy, insert, delete a update. Tyto příkazy upravují data tabulky. Na rozdíl od příkazů DDL nejsou příkazy DML automaticky potvrzeny. Když použijete některý ze tří příkazů, musíte použít klíčové slovo ‚commit‘, aby se změny trvale uložily.

Příkaz INSERT vloží data do tabulky. Kdykoli se do tabulky přidají nová data, počet n-tic se zvýší.

Syntax:

|_+_|

Nebo

|_+_|

Příklad:

|_+_|

Další je prohlášení o aktualizaci. Tento příkaz aktualizuje nebo upravuje stávající hodnotu jednoho atributu.

Syntax:

|_+_|

Příklad:

|_+_|

Nakonec příkaz delete odstraní konkrétní řádky z tabulky.

Syntax:

|_+_|

Příklad:

|_+_|
    DCL:

V SQL přidělujeme lidem některá oprávnění nebo práva pro manipulaci, přístup nebo mazání dat z databáze. Oprávnění můžeme udělit a vzít zpět pomocí příkazů GRANT a REVOKE.

Příkaz GRANT se používá k udělení práva na přístup k databázi. Uživatelé mohou přistupovat k databázi, pokud mají oprávnění.

Syntax:

|_+_|

Příkaz REVOKE je opakem příkazu GRANT. Odebere uživateli všechna oprávnění přístup k databázi .

|_+_|
    DQL:

V jazyce dotazu na data existuje pouze jeden příkaz, SELECT. Tento příkaz se používá k výběru konkrétních atributů z tabulky. Vybírá atributy v závislosti na specifikované podmínce WHERE.

Syntax:

|_+_|

Příklad:

|_+_|
    TCL:

Jazyk řízení transakcí zahrnuje tři příkazy, commit, rollback a savepoint. Příkazy TCL můžete použít pouze s příkazy DML. Nelze je použít s příkazy DDL, protože automaticky ukládají změny trvale do databáze.

Příkaz commit uloží všechny změny trvale provedené v tabulce v databázi.

Syntax:

|_+_|

Příklad:

|_+_|

Pokud chcete vrátit zpět jakoukoli předchozí transakci, která není potvrzena v databázi, lze provést příkaz vrácení zpět.

Syntax:

|_+_|

Příklad:

|_+_|

A konečně, příkaz SAVEPOINT provádí efektivní vrácení transakcí. Vrátí konkrétní transakci do požadovaného bodu, aniž by bylo nutné vrátit celou transakci zpět.

Syntax:

|_+_|

Integrita dat

Integrita dat v databázi znamená přesnost a redundanci. Údaje obsažené v databázi by měly být přesné a neměly by se opakovat. Pro tyto účely používáme omezení. Omezení obecně znamená omezení nebo omezení. V SQL omezení zahrnuje předpisy nebo pravidla pro sloupce tabulky. Jinými slovy, omezení určují, jaká data mají být přidána do tabulky. Použití omezení na datový sloupec zajišťuje spolehlivost a správnost údajů.

SQL

Výše uvedený diagram ilustruje různá omezení, která jsou seskupena do tří kategorií, integrity entity, referenční integrity a integrity domény.

Omezení můžete použít na sloupce tabulky nebo přímo na tabulku. Pokud dáváte přednost použití omezení na sloupce, označuje se to jako omezení na úrovni sloupců. Omezení na úrovni sloupců můžete použít na jeden nebo dva sloupce. A použití omezení na celou tabulku se nazývá omezení na úrovni tabulky. Když použijete omezení na úrovni tabulky, použije se na všechny sloupce tabulky.

Dejte nám nyní vědět všechny tři výše uvedené kategorie integrity dat.

    Integrita entity:

V integritě entity je každá n-tice tabulky jednoznačně identifikována pomocí níže uvedených tří omezení:

  • Omezení NOT NULL: Zajišťuje, že v tabulce nebo sloupci nebude žádná hodnota NULL.
  • UNIQUE Constrament: Toto pravidlo určuje, že sloupec v tabulce bude mít jedinečné hodnoty. Žádná hodnota ve sloupci se nebude opakovat.
  • PRIMÁRNÍ klíč: Když použijete toto omezení na libovolný sloupec tabulky, bude tento sloupec jednoznačně identifikovat každý řádek nebo n-tici v tabulce.
    Referenční integrita:

Pokud chcete spojit dvě různé tabulky v databázi, můžete použít referenční integritu.

  • CIZÍ klíč: Jednoznačně identifikuje řádek nebo n-tici jiné tabulky. Primární klíč jedné tabulky by měl být přítomen jako atribut v druhé tabulce. Takový atribut se označuje jako FOREIGN Key.
    Integrita domény:

Integrita domény se používá k zajištění toho, aby všechny hodnoty v tabulce dodržovaly definovaná pravidla.

  • DEFAULT Constraint: Přiřadí sloupci výchozí hodnotu, pokud není uvedena konkrétní hodnota.
  • Omezení CHECK: Pokud chcete ověřit, že všechny hodnoty sloupců splňují zadanou podmínku, můžete použít omezení CHECK.

INDEX: Když si přejete načíst nebo vytvořit data databáze, můžete použít INDEX.

Normalizace databáze

Normalizace databáze je proces organizace dat v databázi do dobře strukturovaného formátu. Existují různé normální formy normalizace databáze , což pomáhá eliminovat redundanci a zvyšuje integritu dat. E. F. Codd navrhl koncept normalizace databáze. Existují dva hlavní důvody pro normalizaci databáze.

  • Odstranění opakovaných dat z databáze.
  • Zajištění, že všechny datové závislosti jsou správné a dávají smysl.

Odstranění nadbytečných dat pomůže uvolnit místo na disku. Pomocí normalizace databáze můžete vytvořit dobrou databázi a data do ní logicky uložit. V normalizaci databáze existují různé normální formy, které vám pomohou vytvořit dobře strukturovanou databázi. Tyto normální formy jsou uvedeny níže:

  • První normální forma
  • Druhá normální forma
  • Třetí normální forma
  • Normální forma Boyce Codda
  • Čtvrtá normální forma
  • Pátá normální forma

SQL datové typy

Datový typ SQL definuje typ používaných dat. V SQL existuje šest různých druhů datových typů: číselné, datum a čas, znak a řetězec, znak Unicode, binární a různé. Tyto datové typy se používají při vytváření tabulky v databázi. Každý sloupec je přiřazen datovému typu a měl by obsahovat pouze data zadaného typu.

Každá relační databáze nepodporuje všechny datové typy SQL. Relační databáze Oracle nepodporuje datový typ DATETIME a databáze MySQL nepodporuje datový typ CLOB. Existují některé specifické databáze, které mají další samostatné datové typy. V Microsoft SQL Server jsou dalšími datovými typy ‚peníze‘ a ‚smallmoney‘. Nyní si proberme jednotlivé typy dat níže.

jeden. Číselný datový typ

V SQL existuje jedenáct různých typů číselných dat, které jsou rozděleny do dvou skupin. První skupina obsahuje přesné číselné datové typy a druhá má přibližné číselné datové typy. Přesné číselné datové typy zahrnují bigint, int, smallint, tinyint, desítkové, money, numeric, smallmoney a bit. A přibližné číselné datové typy zahrnují float a real. Níže uvedené tabulky ilustrují rozsahy hodnot přesných a přibližných datových typů.

Přesné datové typy

Datový typ Z Na Úložný prostor
bit0jeden
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,8078 bajtů
tinyint02551 bajt
malé peníze-214 748,3648+214 748 36474 byty
peníze-922,337,203,685,477,5808+922,337,203,685,477,58078 bajtů
smallint-32,76832,7672 bajty
int-2,147,483,6482,147,483,6474 byty
číselné-10^38 +110^38-15 – 17 bajtů
desetinný-10^38 +110^38-15 – 17 bajtů

Přibližné typy dat

Datový typ Z Na Úložný prostor
nemovitý-3,40E + 383,40E + 384 nebo 8 bajtů
plovák-1,79E + 3081,79E + 3084 byty

dva. Datum a čas

Typ dat datum a čas má čtyři různé datové typy, datum a čas, datum, čas a smalldatetime. Sdělte nám nyní hodnoty rozsahu každého datového typu data a času.

Datový typ Z Na Úložný prostor
smalldatetime1. ledna 19006. června 20794 byty
čas schůzky1. ledna 175331. prosince 99998 bajtů
datum a čas21. ledna 000131. prosince 99996 – 8 bajtů
datumTento datový typ ukládá datum ve tvaru 30. června 1991.3 bajty
časTento datový typ ukládá čas ve tvaru 12:30 P.M.3–5 bajtů

3. Znak a řetězec

Datový typ Character a String se používá k vkládání abeced a slov. Existují čtyři různé datové typy znaků a řetězců:

    char

Datový typ char má pevnou délku a má maximální limit velikosti 8 000 znaků.

    varchar

Tento datový typ má proměnnou délku a maximální velikost je 8 000 znaků.

    text

Textový datový typ má proměnnou délku a maximální limit velikosti je až 2 147 483 647 znaků.

    varchar(max)

Tento datový typ má také proměnnou délku a maximální limit velikosti je 2E + 31.

Všechny výše uvedené datové typy nejsou Unicode.

čtyři. binární:

V SQL existují čtyři binární datové typy: binární, varbinární, varbinary(max) a obrázek. Níže je uveden stručný popis každého z těchto datových typů.

    binární

Tento datový typ má pevnou délku a maximální délku má 8 000 bajtů.

    varbinární

varbinary je další binární datový typ, který má proměnnou délku. Má maximální limit velikosti 8 000 bajtů.

    varbinární (max.)

Stejně jako varbinary je i varbinary(max) datovým typem s proměnnou délkou a má maximální limit velikosti 2E + 31 bajtů. Používá se pouze v SQL Server 2005.

    obraz

image je také binární data proměnné délky s maximálním limitem 2 147 483 647 bajtů.

5. Typ dat Unicode

Tato skupina má také čtyři různé typy dat: nchar, nvarchar, nvarchar(max) a ntext.

    nchar

nchar je datový typ Unicode s pevnou délkou, který má maximální délku 4 000 bajtů.

    nvarchar

Na rozdíl od nchar je nvarchar Unicode s proměnnou délkou s maximálním limitem velikosti 4 000 bajtů.

    nvarchar(max)

nvarchar(max) je kompatibilní pouze s databází SQL Server 2005. Má maximální velikostní limit 2E + 31 a má proměnnou délku.

    ntext

ntext je Unicode s proměnnou délkou s maximální délkou 1 073 741 823 bajtů.

6. Smíšený

Následují datové typy, které spadají do skupiny různé.

    sql_variant: Obsahuje hodnoty všech datových typů podporovaných databází SQL Server, kromě časového razítka, textu a ntextu.unikátní identifikátor: Tento datový typ obsahuje GUID, globálně jedinečný identifikátor.kurzor: Odkazuje na objekt kurzoru.časové razítko: Je to jedinečné číslo, které se změní, kdykoli se změní jakýkoli řádek v databázi.xml: Je podporován SQL Server 2005 a obsahuje data xml.stůl: Obsahuje sadu výsledků, která se používá pro budoucí účely.

Operátoři SQL

Operátory jsou vyhrazená slova nebo znaky. Jsou určeny pro provádění specifických operací. Obvykle se v klauzuli WHERE používá operátor k určení podmínky. Operátor může být aritmetický, logický nebo srovnávací. Můžete také použít operátor ke kombinaci dvou podmínek ve stejném příkazu. V SQL existují tři různé typy operátorů, aritmetické, porovnávací a logické operátory.

jeden. Aritmetické operátory

Aritmetický operátor může provádět aritmetické operace, jako je sčítání, odčítání, násobení, modul a dělení. Vezměme „a s hodnotou 15“ jako jednu proměnnou a „b s hodnotou 30“ jako další proměnnou. Níže uvidíme příklad každého aritmetického operátoru.

Operátor Popis Příklad
+Operátor „+“ provede přidání dvou proměnných.a+b=15+30=45
Operátor „-“ odečte pravou proměnnou od levé proměnné.a-b = 15-30 = -15
%„%“ vytváří zbytek, pokud jde o výsledek, když je levá proměnná dělena pravou proměnnou.b/a=30%15=0
/„/“ provádí dělení. Hodnota levé proměnné je vydělena hodnotou pravé proměnné.b/a = 30/15 = 2
*„*“ násobí dvě proměnné.a*b=15*30=450

dva. Logické operátory

Zde uvidíme všechny logické operátory používané v SQL s jejich stručným popisem.

  • AND: AND se používá pro kombinaci několika podmínek v jednom příkazu SQL.
  • BETWEEN: Tento operátor se používá pro specifikaci rozsahu hodnot. Minimální a maximální hodnotu můžete nastavit pomocí klíčového slova BETWEEN.
  • IN: Když použijete klíčové slovo IN, porovnává jednu hodnotu se všemi ostatními doslovnými hodnotami přítomnými v určeném seznamu.
  • NOT: Tento operátor se používá s jinými logickými operátory, jako EXISTS, BETWEEN. Můžete například použít NOT EXISTS, NOT BETWEEN, NOT IN atd.
  • IS NULL: Pokud chcete porovnat jakoukoli hodnotu s hodnotou NULL, můžete použít IS NULL.
  • ALL: Tento operátor se používá pro porovnání hodnoty v jedné sadě se všemi ostatními hodnotami v jiné sadě.
  • JAKÉKOLI: Porovnává hodnotu s jakoukoli praktickou hodnotou v seznamu.
  • EXISTS: Zkontroluje, zda je v tabulce přítomen konkrétní řádek.
  • LIKE: Pokud chcete porovnat hodnotu s podobnou hodnotou, použijte klíčové slovo LIKE.
  • OR: Jako AND, OR také kombinuje několik podmínek v klauzuli WHERE.
  • UNIQUE: Toto klíčové slovo ověřuje jedinečnost každého řádku v tabulce.

3. Porovnávací operátory

Abychom uznali srovnávací operátory, vezmeme dvě proměnné, a a b. Nechť „a“ je 15, „b“ je 20.

Operátor Popis Příklad
Kontroluje, zda jsou hodnoty dvou proměnných stejné nebo ne. Pokud se nerovnají, vrátí true, jinak nepravda.(ab) = (1530) = pravda
==Like , == také kontroluje dvě proměnné na stejné hodnoty. Pokud jsou hodnoty stejné, vrátí hodnotu true.(a==b)=(15==30)=není pravda
!=‚!=‘ je podobné ‚.‘ Také dává hodnotu true, pokud hodnoty obou proměnných nejsou stejné.(ab) = (1530) = pravda
>Pokud je hodnota levé proměnné větší než hodnota pravé proměnné, '>' vrátí hodnotu true.(a>b)=(15>30)= není pravda
!>„!>“ je opakem operátoru „>“. Vrací hodnotu true, pokud hodnota levé proměnné není větší než hodnota pravé proměnné.(a!>b)=(15!>30)= pravda
>=Pokud je levý operand větší nebo roven pravému operandu, podmínka se stane pravdivou.(a=30)= není pravda
<Pokud je hodnota levé proměnné menší než hodnota pravé proměnné,<’ returns true. (na
!<'!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. (na
<=Pokud je levý operand menší nebo roven pravému operandu, podmínka se stane pravdivou.(na<=b)=(15<=30)= true

SQL výrazy

V SQL se výraz skládá z operátorů, jedné nebo více hodnot a funkcí SQL. Jsou vždy uvedeny v klauzuli WHERE. Níže je uvedena syntaxe ilustrující použití výrazů v databázovém dotazu.

Syntax:

|_+_|

V SQL se používají tři druhy výrazů, booleovské, číselné a datumové.

jeden. Booleovské výrazy

Booleovský výraz načte data, která odpovídají jedné hodnotě. Načte řádky, které odpovídají hodnotě zadané v EXPRESSION.

Syntax:

|_+_|

Již dříve jsme vytvořili tabulku s názvem tabulky ‚Student.‘ Její data načteme pomocí příkazu SELECT.

|_+_|

Výstup:

|_+_|

Nyní načteme data, která odpovídají hodnotě Student_ID = 1098. Zobrazí se pouze jeden řádek následovně.

|_+_|

Výsledek:

|_+_|

dva. Numerický výraz

Číselné výrazy jsou matematické operace. Vyjadřuje se takto:

Syntax:

|_+_|

Pomocí číselných výrazů můžete provádět jakoukoli matematickou operaci. Zde je jeden příklad ilustrující matematickou operaci pomocí číselného výrazu.

|_+_|

Výstup:

|_+_|

Do číselného výrazu můžete také zahrnout agregační funkce: avg(), max(), count(), min() a sum(). Nyní spočítáme počet záznamů nebo řádků v tabulce ‚Student‘.

|_+_|

Výstup:

|_+_|

3. Výrazy data

Termínové výrazy jsou nejžádanějším výrazem v SQL, který poskytuje aktuální datum a čas systému. Podívejme se na dotaz na zobrazení aktuálního data a času systému.

|_+_|

Výstup:

|_+_|

Vytvářejte, pouštějte a USE databázové příkazy v SQL

jeden. Vytvořit databázi

Než vytvoříme tabulky, musíme nejprve vytvořit databázi. Nejprve si vytvořte databázi, ve které chcete pracovat. Nyní uvidíme, jak vytvořit databázi.

Syntax:

|_+_|

Musíte se ujistit, že název databáze by měl být jedinečný a odlišný. Nemělo by se používat dříve.

Nyní vytvoříme databázi s názvem .

|_+_|

Pro vytvoření jakékoli databáze musíte mít oprávnění správce. Všechny databáze vytvořené můžete zobrazit pomocí příkazu „SHOW DATABASES“. Již dříve jsme vytvořili několik databází: school_info, softwaretesttips, test, company a origin.

|_+_|

Výsledek:

|_+_|

Výše uvedený výstup zobrazil seznam vytvořených databází.

dva. Drop databáze

Předpokládejme, že chceme smazat jednu z výše uvedených databází. Pro tento účel se používá příkaz „DROP DATABASE“.

Syntax:

|_+_|

Předpokládejme, že chceme odstranit „testovací“ databázi ze schématu SQL. Když smažete jakoukoli databázi, budou smazána všechna data v ní přítomná. Pro smazání databáze musíte mít také oprávnění správce.

|_+_|

Smazali jsme „testovací“ databázi. Podívejme se nyní na seznam databází přítomných ve schématu.

|_+_|

Výstup:

|_+_|

3. Použít a vybrat databázi

V našem schématu je několik databází. Předpokládejme, že chceme pracovat pouze s jednou konkrétní databází; musíte si vybrat tu ze všech databází. Po výběru jedné databáze v ní můžete provádět všechny operace DDL. Pro výběr databáze existuje příkaz USE.

Syntax:

|_+_|

Z našeho seznamu databází vybereme jednu databázi ‚softwaretesttips‘, ve které budeme provádět všechny databázové operace.

|_+_|

Vše, co vytvoříte, tabulky nebo zobrazení, bude přítomno v databázi „softwaretesttips“.

Toto byl celý rychlý tutoriál o SQL. Nyní vytvoříme jednu tabulku v databázi ‚softwaretesttips‘ a na této tabulce provedeme všechny operace SQL.

Vytvořit tabulku

Viděli jsme syntaxi vytvoření tabulky a příklad. Toto prohlášení je napsáno následovně,

|_+_|

V příkazu create table specifikujeme název tabulky, atributy a datové typy. Můžeme dokonce použít omezení na atributy pomocí příkazu create table. Ujistěte se, že název tabulky je jedinečný a dosud nebyl použit.

Nyní vytvoříme tabulku pomocí příkazu ‚vytvořit tabulku‘. Vytvořme tabulku „ZAMĚSTNANCI“, ve které jsou uložena data zaměstnanců. Pro tuto tabulku vytvoříme pět atributů: Emp_ID, Jméno, Věk, Město a Plat.

|_+_|

Vytvořili jsme tabulku ‚ZAMĚSTNANEC‘ s atributy EMP_ID, JMÉNO, VĚK, MĚSTO a PLAT. Primárním klíčem tabulky ‚EMPLOYEE‘ je EMP_ID, které by nemělo mít hodnotu NULL. Atributy NAME a AGE by navíc neměly mít hodnotu NULL.

Po napsání výše uvedeného příkazu vytvoření tabulky uvidíte na obrazovce zprávu „tabulka byla úspěšně vytvořena“. Chcete-li zobrazit atributy tabulky nebo schématu tabulky, zadejte následující příkaz:

|_+_|

Výstup:

|_+_|

Tabulku ‚EMPLOYEE‘ můžeme zrušit pomocí příkazu DROP.

|_+_|


Po odstranění tabulky bude odstraněna z databáze. Pokud se pokusíte spustit příkaz „DESC“, dojde k následující chybě:

|_+_|

Vložte hodnoty do tabulky

Naučili jsme se, jak vytvořit tabulku v konkrétní databázi a vypustit ji z databáze. Nyní se zaměříme na vkládání dat do tabulky. V úvodní části tohoto článku jsme viděli, jak napsat příkaz insert. Zde se naučíme psát příkaz insert pomocí příkladu.

Vezmeme výše uvedenou tabulku ‚ZAMĚSTNANEC‘ a vložíme do ní údaje zaměstnanců pomocí klíčového slova insert. Data lze do tabulky vložit dvěma způsoby.

|_+_|

Další nejjednodušší formou psaní příkazu INSERT je:

|_+_|

V prvním formátu máme zadané sloupce a hodnoty. Zadali jsme pouze hodnoty ve druhém formátu. Při použití druhého formátu se ujistěte, že vkládáte hodnoty ve správném pořadí, jak jste zadali atributy při vytváření tabulky.

Nyní vložíme údaje zaměstnanců do tabulky ZAMĚSTNANCI.

|_+_|

V prvním formátu jsme vložili data šesti zaměstnanců. Vložme data zaměstnance pomocí druhého formátu.

|_+_|

Nyní je v tabulce ZAMĚSTNANCE sedm záznamů nebo řádků. Pro zobrazení dat v tabulce EMPLOYEE se používá příkaz SELECT. Zaměřme se nyní na příkaz SELECT.

Příkaz SELECT

Příkaz SELECT se používá pro načítání dat z konkrétní tabulky. Když načteme data pomocí příkazu SELECT, vrátí data ve formátu tabulky. Dříve jsme zjistili, jak napsat příkaz SELECT.

|_+_|

Výše uvedený příkaz zobrazí pouze sloupec1 a sloupec2 ze zadané tabulky. Pokud chcete zobrazit všechna data konkrétní tabulky, použije se místo určení všech sloupců znak „*“.

|_+_|

Zobrazíme všechny údaje z tabulky ZAMĚSTNANCE.

|_+_|

Výstup:

|_+_|

Předpokládejme, že chcete získat pouze jména a ID zaměstnanců; můžete zadat EMP_ID a NAME v příkazu SELECT.

|_+_|

Výstup:

|_+_|

Klauzule WHERE

Klauzule WHERE se používá k definování podmínky pro načítání dat. Používá se také ke spojení dvou různých stolů. Když použijete konkrétní podmínku v klauzuli WHERE, data se načtou, pouze pokud je podmínka pravdivá. Klíčové slovo WHERE se běžně používá, když uživatelé potřebují konkrétní informace. Toto klíčové slovo se používá v příkazech DELETE a UPDATE.

|_+_|

V tomto stavu můžeme použít logické a porovnávací operátory. Zvažte tabulku ZAMĚSTNANCI. Pojďme nyní načíst všechna ID zaměstnanců, jména a platy, jejichž plat je větší nebo roven 40 000. Podmínku tedy uvedeme jako plat >= 40 000 v doložce WHERE.

|_+_|

Výstup:

|_+_|

Sada výsledků obsahuje všechna ID zaměstnanců, jména a platy, jejichž plat je větší nebo roven 40 000.

Pokud vaše podmínka v příkazu WHERE obsahuje řetězec, napište jej do jednoduchých uvozovek (‘ ‘). Pojďme získat jméno, ID a věk zaměstnance se jménem Mary.

|_+_|

Výstup:

|_+_|

Operátoři AND a OR

Operátory AND a OR kombinují dvě nebo více různých podmínek. Pokud požadujete přesné a stručné údaje z tabulky, můžete spojit několik podmínek pomocí operátorů AND nebo OR.

Když zkombinujete podmínky pomocí operátoru AND, vrátí výsledek pouze v případě, že jsou splněny všechny podmínky. Pokud je splněna některá z podmínek, data nevrátí. Víme, že operátory se používají v klíčovém slově WHERE. Píše se takto:

|_+_|

Můžete zadat několik podmínek. Zvažte tabulku ZAMĚSTNANCI. Nyní načteme jméno, ID, věk a plat zaměstnanců, jejichž věk je vyšší než 40 a plat je vyšší nebo roven 35 000.

|_+_|

Výstup:

|_+_|

Údaje o zaměstnancích jsou načteny, když platí obě podmínky.

Operátor OR také kombinuje dvě nebo více podmínek. Na rozdíl od klíčového slova AND není nutné, aby byly splněny všechny podmínky, které jsou uvedeny v klíčovém slově WHERE pomocí klauzule OR. I když je jedna podmínka pravdivá, zapíše data do sady výsledků. Pomocí klíčového slova OR můžete zadat několik podmínek, jak je uvedeno níže:

|_+_|

Z tabulky ZAMĚSTNANEC získáme jméno, město a plat, jehož město je Kalifornie nebo plat 30 000.

|_+_|

Výstup:

|_+_|

Výše uvedená sada výsledků obsahuje jména všech zaměstnanců, kteří buď žijí v Kalifornii, nebo mají plat 30 000.

Klauzule HAVING

Pokud chcete filtrovat výsledek na konkrétnější data, použije se klauzule HAVING. V klíčovém slově HAVING můžete použít pouze agregační funkce, které určí podmínku pro načítání dat. Níže je uvedena forma psaní klíčového slova HAVING:

|_+_|

Vezmeme tabulku s názvem tabulky, EMPLOYEE2. Tabulka je následující:

|_+_| |_+_|

Výstup:

|_+_|

Agregační funkce

Agregační funkce v správa databáze systém vezme více dat ze záznamů a po výpočtech vrátí jednu hodnotu. Existuje pět různých agregačních funkcí: sum(), avg(), count(), min() a max(). Všechny tyto funkce lze použít pouze na číselná data, kromě funkce count(). Níže podrobně probereme každou funkci. Pro pochopení agregačních funkcí s příklady si vezmeme tabulku ZAMĚSTNANCI.

|_+_|
    Součet():Funkce sum() vrací součet všech čísel přítomných ve sloupci. Ve výše uvedené tabulce sečteme platy všech zaměstnanců pomocí funkce sum(). Bere více dat a vrací jednu hodnotu.
|_+_|

Výsledek:

|_+_|
    Prům():Funkce avg() také vrací jednu hodnotu. Vypočítá součet všech čísel dat přítomných ve sloupci a vydělí ho celkovým počtem sloupců. Funkce avg() vypočítá průměr všech číselných údajů.
|_+_|

Výsledek:

|_+_|
    Max():Když potřebujete najít maximální hodnotu ze sady dat, můžete na konkrétní sloupec použít funkci max(). Vrátí také jednu hodnotu v sadě výsledků.
|_+_|

Výstup:

|_+_|
    Min ():Funkce min() je opačná než funkce max(). Vrací minimální hodnotu z daného sloupce.
|_+_|

Výstup:

|_+_|
    Počet():Count() se používá k počítání počtu záznamů v tabulce. Funkci count() můžete použít na všechny typy dat v tabulce. Zvažuje také NULL a duplicitní data. Pokud chcete odstranit duplicitní data, musíte přidat klíčové slovo DISTINCT.
|_+_|

Výstup:

|_+_|

Funkce count() vrací počet typů v tabulce EMPLOYEE.

|_+_|

Výstup:

|_+_|

Zde jsme použili klíčové slovo DISTINCT s funkcí count() ve sloupci CITY. Vrátil počet různých názvů měst. Můžete také přidat frázi WHERE pomocí funkce count().

|_+_|

Výstup:

|_+_|

Máme řadu zaměstnanců ve věku nad 40 let.

Aktualizovat klíčové slovo

Pokud si přejete upravit data uvedená v tabulce, můžete použít klíčové slovo aktualizace. Pomocí klíčového slova aktualizace můžete přidat také klíčové slovo WHERE. Pomocí klíčového slova WHERE můžete aktualizovat pouze ty záznamy, které si přejete upravit. Pokud klíčové slovo WHERE nepřidáte, všechny záznamy budou aktualizovány. Aktualizační dotaz můžete napsat následujícím způsobem:

|_+_|

Pokud potřebujete použít změny na dva nebo více záznamů, můžete použít operátory AND a OR. Vezměte si stůl ZAMĚSTNANCE. Aktualizujeme věk zaměstnance s ID 405. Nastavíme věk 37 až 40 let.

|_+_|

Když aktualizujete věk zaměstnance s ID 405, tato změna se projeví v tabulce. Víme, jak bude tabulka ZAMĚSTNANců vypadat po úpravě.

Výstup:

|_+_|

Nyní předpokládejme, že chcete změnit plat a věk zaměstnance s ID 407. Nastavíme plat na 55 000 a věk na 35.

|_+_|

Výstup:

|_+_|

Výše uvedená tabulka obsahuje aktualizované údaje.

SMAZAT dotaz

Pokud chcete z tabulky odstranit jakýkoli záznam, použije se klíčové slovo delete. Pokud chcete odstranit konkrétní n-tici nebo řádek, přidejte klíčové slovo WHERE pro určení podmínky. Kombinujte několik podmínek pomocí operátorů AND nebo OR. Mazací dotaz můžete napsat, jak je uvedeno níže:

|_+_|

Vezměme si například tabulku ZAMĚSTNANCI. Vymažeme záznam zaměstnance s ID zaměstnance 405.

|_+_|

Tabulka nebude obsahovat záznam zaměstnance s ID zaměstnance 405 po provedení výše uvedeného dotazu.

Výstup:

|_+_|

Pokud si přejete odstranit všechny řádky z tabulky, použijte níže uvedený dotaz,

|_+_|

Po provedení tohoto dotazu budou odstraněna pouze data, nikoli schéma tabulky.

OBJEDNAT PODLE klauzule

Data sloupců můžete seřadit vzestupně nebo sestupně pomocí fráze ORDER BY. Ve výchozím nastavení jsou data sloupců uspořádána vzestupně. Při psaní fráze ORDER BY postupujte podle níže uvedeného formátu.

|_+_|

Seznam sloupců by měl obsahovat všechny sloupce, které chcete seřadit nebo uspořádat podle pořadí. Pro pochopení této fráze si vezměte stejnou tabulku ZAMĚSTNANCI na jednoduchém příkladu. Do seznamu sloupců přidáme název sloupce, JMÉNO a PLAT.

|_+_|

Tabulka bude uspořádána podle jmen vzestupně.

Výstup:

|_+_|

Nyní vygenerujeme tabulku v sestupném pořadí pomocí sloupce NAME.

|_+_|

Výstup:

|_+_|

GROUP BY klauzule

Pro identické seskupování dat se používá klauzule GROUP BY. Za klíčovým slovem WHERE vždy následuje klauzule GROUP BY a za frází GROUP BY klauzule ORDER BY. Seskupuje podobná data do skupin určených podmínkou v klauzuli WHERE. Klauzule GROUP BY je napsána takto:

|_+_|

Na druhém stole použijeme frázi GROUP BY. Zvažte níže uvedenou tabulku ZAMĚSTNANEC1.

|_+_|

Zde Steve pracuje v Chicagu a také v Kalifornii. Proto můžeme Steveova data seskupit pomocí fráze GROUP BY, která zobrazí jeho jméno a celkový plat.

|_+_|

Výstup:

|_+_|

DISTINCT Klíčové slovo

Klíčové slovo DISTINCT odstraní z tabulky všechny duplicitní hodnoty. Mnoho tabulek může obsahovat redundantní nebo duplicitní data. V takových situacích použití klíčového slova DISTINCT pomůže získat jedinečná data. Můžete zadat sloupce, ze kterých potřebujete načíst jedinečná data. Níže je uvedena forma psaní klíčového slova DISTINCT:

|_+_|

Abychom pochopili, jak klíčové slovo DISTINCT funguje, vezmeme si tabulku EMPLOYEE. Nejprve seřadíme tabulku vzestupně podle platu.

|_+_|

Výstup:

|_+_|

Ve výše uvedené sadě výsledků jsou duplicitní data, tj. 30 000 je přítomno ve dvou různých řádcích. Když použijeme klíčové slovo DISTINCT, výsledek nebude obsahovat žádná duplicitní data.

|_+_|

Výstup:

|_+_|

SQL PŘIPOJTE SE

V SQL spojuje spojení záznamy ze dvou nebo více tabulek do jediné tabulky. JOIN je zdroj pro kombinování tabulek pomocí společných sloupců v tabulkách. Uvidíme příklad potvrzení toho, jak se JOIN provádí.

Vezmeme dvě tabulky a spojíme tyto dvě tabulky na základě společného atributu mezi nimi. Vezměte si stůl ZAMĚSTNANCE. Vytvoříme další tabulku, ODDĚLENÍ.

|_+_|

Nyní máme dva stoly. Tyto dvě tabulky spojíme a zobrazíme sadu výsledků. V obou tabulkách je společný atribut EMP_ID.

|_+_|

Výsledek je následující:

|_+_|

V klauzuli WHERE můžeme spojovat tabulky nebo relace pomocí několika operátorů: , =, BETWEEN, !, NOT atd. Spojení lze rozdělit do několika typů. VNITŘNÍ spojení spojuje tabulky a vrací výsledek dat, která se shodují mezi dvěma vztahy. Dalším spojením je LEVÉ spojení, které vrací všechna data z levé tabulky. Pokud neexistuje žádná shoda pro levou tabulku s pravou tabulkou, zapíše se NULL. RIGHT spojení vytváří všechna data z pravé tabulky. Pro správnou tabulku, jejíž shoda není k dispozici, napište NULL.

Připojit se vlevo

Levé spojení kombinuje dva vztahy, které mají společný atribut. Můžete určit, které sloupce se mají zobrazit z obou vztahů. V sadě výsledků jsou přítomna všechna data z levé tabulky. Pro data pravé tabulky, která se neshodují s daty levé tabulky, se zapíše NULL. Uvidíme příklad levého spojení pomocí ZAMĚSTNANCE a ODDĚLENÍ.

|_+_|

ODDĚLENÍ

|_+_|

Nyní napíšeme dotaz na spojení těchto dvou vztahů pomocí klíčového slova LEFT JOIN.

|_+_|

Výsledek:

|_+_|

Správně Připojte se

Pravé spojení také spojuje dva stoly. Když použijeme pravé spojení na dva vztahy, zobrazí se všechna data pravé tabulky odpovídající levé tabulce. Pro levou tabulku, která se neshoduje s daty pravé tabulky, se zapíše NULL. Vezmeme stejné dva vztahy, ZAMĚSTNANCE a ODDĚLENÍ, abychom pochopili správné klíčové slovo spojení.

|_+_|

Výstup:

|_+_|

Závěr

Strukturovaný dotazovací jazyk (SQL) používají všechny hlavní databáze: MySQL, MS Access, Oracle atd. Tento jazyk umožňuje uživatelům vytvářet tabulky v databázi a manipulovat s nimi pomocí několika klauzulí, operátorů, příkazů. Tento článek je rychlou referencí SQL pro začátečníky. Začínající uživatelé se mohou v tomto kurzu naučit všechny základy SQL.

Tento příspěvek je rychlou referencí SQL, která poskytne základní znalosti o manipulaci s daty v databázi. Viděli jsme všechny základní syntaxe příkazů DML, DDL, TCL, DQL, DCL. Později jsme se naučili různé klauzule, integritu dat, datové typy, operátory a výrazy. V pozdější části jsme viděli příklady vytváření, manipulace a vypouštění dat v databázi.