Cvičení: Použití SQL k dotazování služby Azure SQL Database
Společnost Contoso zřídila databázi SQL a naimportovala všechna data inventáře do úložiště dat. Jako vedoucí vývojář jste byli požádáni o spuštění některých dotazů na data.
V tomto cvičení se do databáze dotazujete, abyste zjistili, kolik produktů je v databázi, a počet položek skladem pro konkrétní produkt.
Nastavení
Pokud chcete ušetřit čas, databáze se zřídí a naplní spuštěním skriptu. Skript si stáhnete z úložiště GitHub. Skript provádí následující operace:
- Vytvoří server Azure SQL Database.
- Vytvoří databázi Azure SQL připojenou k serveru.
- Otevře bránu firewall, která povolí provoz SQL z internetu.
- Připojí se k databázi a spustí skript SQL, který vytvoří tabulku a vloží data.
Spuštěním následujícího příkazu git clone v Cloud Shellu naklonujte úložiště, které obsahuje data a instalační skript v GitHubu. Úložiště se zkopíruje do místní složky s názvem dp-900/sql.
git clone https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals dp-900
Spuštěním následujícího příkazu přejděte do složky dp-900/sql .
cd dp-900/sql
Spuštěním setup.sh vytvořte databázi a server Azure SQL následujícím způsobem:
bash setup.sh
Spuštění skriptu trvá několik minut. Po dokončení skriptu se zobrazí podrobnosti o připojení pro databázi. Poznamenejte si uživatelské jméno a heslo.
Připojení k editoru dotazů
K připojení k databázi a dotazování dat použijete integrovaný editor dotazů na webu Azure Portal.
Přihlaste se k webu Azure Portal pomocí stejného účtu, kterým jste aktivovali sandbox.
Na portálu na domovské stránce vyberte databáze SQL a pak vyberte databázi Inventory umístěnou na serveru, který jste právě vytvořili.
Na stránce Stránka Přehled pro vaši databázi vyberte Nastavit bránu firewall serveru.
Na stránce Nastavení brány firewall vyberte Přidat IP adresu klienta a pak vyberte Uložit.
Zavřete stránku nastavení brány firewall a vraťte se na stránku Přehled vaší databáze.
Na stránce Přehled vyberte v nabídce vlevo editor dotazů (Preview ).
Zadejte uživatelské jméno a heslo, které jste si poznamenali dříve při spuštění instalačního skriptu, a pak vyberte OK.
Zobrazí se obrazovka podobná tomuto příkladu:
Návod
Přidání IP adresy klienta v tomto kroku nebude zohledňovat žádná existující připojení VPN. Pokud nemůžete dokončit krok 7, zakažte všechna připojení VPN nebo přidejte další IP adresu ručně ze zobrazených chyb.
Spouštění dotazů na databázi
Do editoru zkopírujte následující příkaz SQL. Pokud chcete zkontrolovat, jestli všechno funguje, vyberte Spustit. Měl by se zobrazit seznam čtyř skladových položek.
SELECT * FROM Inventory
Nahraďte aktuální příkaz SQL následujícím příkazem, aby se zobrazil pouze počet banánů na skladě:
SELECT * FROM Inventory WHERE Name = 'banana'
Mělo by být 150 banánů.
Nahraďte příkaz SQL následujícím příkazem, který načte skladové položky v pořadí skladových zásob:
SELECT * FROM Inventory ORDER BY Stock
Nahraďte příkaz SQL příkazem uvedeným níže. Tento příkaz je dotaz, který pomocí operátoru JOIN zkombinuje data z tabulky CustomerOrder a tabulky Inventory . Uvádí podrobnosti objednávek zadaných zákazníky společně s informacemi o skladových zásobách pro každou objednanou položku:
SELECT * FROM Inventory JOIN CustomerOrder ON Inventory.Id = CustomerOrder.InventoryId
Změňte dotaz tak, aby našel jména všech zákazníků, kteří si objednali pomeranče.
SELECT CustomerOrder.CustomerName FROM CustomerOrder JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID AND Inventory.Name = 'orange'
Tento dotaz by měl vrátit dva zákazníky: John Smith a Jane Brown.
Zjistěte, kolik zákazníků si objednalo citrony. Tento dotaz používá funkci COUNT(*), která vrátí počet řádků, které splňují kritéria dotazu.
SELECT COUNT(*) FROM CustomerOrder JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID AND Inventory.Name = 'lemon'
Výsledky tohoto dotazu by měly znamenat, že si citróny objednal pouze jeden zákazník.
Jaké ovoce má John Smith objednaný?
SELECT Inventory.Name FROM CustomerOrder JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID AND CustomerOrder.CustomerName = 'John Smith'
Výsledky tohoto dotazu by měly ukázat, že Jan Smith objednal pouze pomeranče.
Jaké je celkové množství položek objednaných všemi zákazníky? Sloupec Množství v tabulce CustomerOrder obsahuje množství pro každou objednávku. Tento dotaz používá agregační funkci SUMA k přidání množství do celkového součtu:
SELECT SUM(CustomerOrder.Quantity) FROM CustomerOrder
Odpověď by měla být 29.
Viděli jste, jak spouštět dotazy SQL na databázi SQL. Pokud máte čas, zkuste do obou tabulek přidat další řádky pomocí příkazů INSERT , upravit řádky pomocí příkazů UPDATE a odebrat řádky pomocí příkazů DELETE .