sql >> Databáze >  >> RDS >> Access

Úvod do speciálních dotazů

Parametrizované dotazy

Úvod

Parametrizovaný dotaz je dotaz, kterému v kritériích chybí hodnota. Slovo „chybějící“ se zde jeví jako negativní, aby naznačovalo něco špatného v dotazu, ale není tomu tak. Dotaz je záměrně vytvořen tak, aby jeho filtru byla poskytnuta hodnota. V době vytvoření dotazu je filtr nastaven určitým způsobem.

Parametrizovaný dotaz je dotaz, kterému v kritériích chybí hodnota. Slovo „chybějící“ se zde jeví jako negativní, aby naznačovalo něco špatného v dotazu, ale není tomu tak. Dotaz je záměrně vytvořen tak, aby jeho filtru byla poskytnuta hodnota. V době vytvoření dotazu je filtr nastaven určitým způsobem. Když je dotaz spuštěn, musí být zadána chybějící hodnota pro dokončení kritéria, poté je dotaz dokončen a je vytvořen výsledek dotazu. Většinou se vytváří parametrizovaný dotaz, takže uživatel musí specifikovat konkrétní záznam(y), který má vytvořit.

Ačkoli jsme uvedli, že dotaz je parametrizovaný, ve skutečnosti je parametrizovaný příkaz SQL. To znamená, že můžete vytvořit výraz SQL používaný jako zdroj záznamů formuláře nebo sestavy, ale zavázat uživatele k poskytnutí chybějících informací, takže formulář nebo sestava zobrazí pouze záznamy, které používají tuto hodnotu.

Praktické učení:Představujeme parametrizované dotazy

  1. Spusťte aplikaci Microsoft Access
  2. V seznamu souborů klikněte na Altair Realtors3 z předchozí lekce
  3. Na pásu karet klikněte na Vytvořit a poté na Návrh dotazu
  4. V dialogovém okně Zobrazit tabulku klikněte na Vlastnosti, klikněte na Přidat a poté na Zavřít
  5. V horním seznamu poklepejte na PropertyNumber, PropertyType, City, Ložnice, Koupelny, Dokončený suterén, IndoorGarage, Condition a MarketValue
  6. Chcete-li zobrazit výsledky, klikněte ve stavovém řádku na tlačítko Datový list
  7. V případě potřeby klikněte na pásu karet na Domů.
    Změňte následující vlastnosti:
    Název písma:Calisto MT (pokud toto písmo nemáte, vyberte Times New Roman)
    Barva pozadí:zelená, akcent 6, světlejší 40 % (Barvy motivu:10. sloupec, 4. řádek)
    Barva alternativní řady:zelená, zvýraznění 6, světlejší 80 % (barvy motivu:10. sloupec, 2. řádek)

  8. Po zobrazení výsledku klikněte v části Zobrazení na pásu karet na šipku pod tlačítkem Zobrazit a klikněte na možnost Zobrazení SQL
  9. Změňte příkaz SQL následovně:
    SELECT Properties.PropertyNumber,
           Properties.PropertyType AS [Property Type],
           Properties.City,
           Properties.Bedrooms AS Beds,
           Properties.Bathrooms AS Baths,
           Properties.FinishedBasement AS [Basement?],
           Properties.IndoorGarage AS [Garage?],
           Properties.Condition,
           Properties.MarketValue AS [Market Value]
    FROM   Properties;
  10. Zobrazte návrhové zobrazení dotazu

Vytvoření parametrizovaného dotazu

Při vytváření parametrizovaného dotazu je nutné zadat parametr. Chcete-li pokračovat, otevřete dotaz v návrhovém zobrazení a vyberte potřebné sloupce. Do pole Kritéria pole, které bude obsahovat kritéria, zadejte hranaté závorky[]. Do závorek zadejte cokoli, co chcete, například zprávu nebo otázku. Zpráva nebo otázka se zobrazí uživateli, který musí zadat hodnotu do textového pole. Jakmile uživatel zadá hodnotu a klepne na OK nebo stiskne Enter, dotaz se spustí.

Praktické učení:Vytvoření parametrizovaného SQL výrazu

  1. Klikněte na pole Kritéria ve sloupci Číslo vlastnosti a zadejte:[Zadejte číslo vlastnosti, kterou chcete zobrazit:]

  2. Přepněte dotaz do zobrazení datového listu a zobrazte výsledek
  3. Zadejte číslo nemovitosti jako 192703

  4. Klikněte na tlačítko OK

  5. Návrat do zobrazení návrhu
  6. Smazat [Zadejte číslo vlastnosti, kterou chcete zobrazit:]
  7. Klikněte na pole Kritéria ve sloupci Typ vlastnosti a zadejte:[Zadejte typ vlastnosti, kterou chcete zobrazit:]

  8. Přepněte dotaz do zobrazení datového listu a zobrazte výsledek
  9. Zadejte typ nemovitosti jako městský dům

  10. Stiskněte klávesu Enter

  11. Návrat do zobrazení návrhu

Parametrizovaná konjunkce

Můžete vytvořit parametrizovaný dotaz, který klade dvě nebo více otázek, které je nutné k dokončení dotazu zkombinovat. Chcete-li to provést, v zobrazení návrhu dotazu zadejte zprávu do pole Kritéria v každém sloupci.

Praktické učení:Vytvoření parametrizované disjunkce

  1. Klikněte na pole Kritéria pro sloupec Ložnice a zadejte [Kolik ložnic požadujete?]

  2. Přepněte dotaz do zobrazení datového listu a zobrazte výsledek
  3. Zadejte typ vlastnosti jako jednotlivá rodina a stiskněte Enter
  4. Zadejte počet ložnic jako 5 a stiskněte Enter

  5. Návrat do zobrazení návrhu
  6. Smazat [Kolik pokojů požadujete?]

Parametrizovaná disjunkce

Parametrizovaná disjunkce vyžaduje dvě nebo více hodnot. Dotaz vytvoří všechny záznamy, které obsahují kteroukoli z hodnot. Chcete-li vytvořit takový parametrizovaný dotaz, přidejte první otázku nebo zprávu do pole Kritéria požadovaného pole. Poté přidejte druhou zprávu nebo otázku do pole Nebo ve stejném sloupci. Pokud potřebujete další hodnoty, zadejte jejich otázky nebo zprávy do polí pod buňkou Nebo ve stejném sloupci.

Praktické učení:Vytvoření parametrizované disjunkce

  1. Klikněte na pole Nebo ve sloupci Typ nemovitosti a zadejte [Jaký další typ vlastnosti chcete vidět?]

  2. Přepněte dotaz do zobrazení datového listu a zobrazte výsledek
  3. Zadejte první typ nemovitosti jako městský dům a stiskněte Enter
  4. Zadejte druhý typ vlastnosti jako jednotlivá rodina a stiskněte Enter

  5. Zavřete dotaz bez jeho uložení

Akční dotazy

Úvod

Aplikace Microsoft Access poskytuje některé hotové dotazy, které umožňují provádět semi-složité akce na existujících tabulkách. Akce se provádějí jako dotazy. Když použijete akční dotaz, nevytváříte běžný dotaz v pravém slova smyslu. Většina těchto dotazů je obvykle užitečná pouze jednou. Z tohoto důvodu je stěží budete muset ukládat.

Dotaz na akci vytvořit tabulku

Místo toho, abyste nejprve vytvořili tabulku a poté ji vyplnili hodnotami, pokud již máte hodnoty uložené v tabulce, Microsoft Access vám umožní vytvořit novou tabulku naplněnou hodnotami z této tabulky.

Pomocí dotazů existují dvě hlavní techniky, které můžete použít k vytvoření nové tabulky pro vaši databázi. Aplikace Microsoft Access poskytuje techniku ​​s názvem Make Table Query. Tento typ dotazu se používá k načtení všech nebo některých polí existující tabulky a namísto vytvoření nového dotazu, který závisí na existující tabulce, získáte zcela novou tabulku, nezávislou na jakékoli existující tabulce. Tento typ akce vám umožní vytvořit novou tabulku na základě pravidla aplikovaného na existující tabulku.

Chcete-li vytvořit tabulku pomocí dotazu aplikace Microsoft Access, spusťte nový dotaz v návrhovém zobrazení. Poté v části Typ dotazu na pásu karet klikněte na tlačítko Vytvořit tabulku . Zobrazí se vám dialogové okno Vytvořit tabulku, které vám umožní zadat nový název dotazu nebo vybrat existující tabulku, která bude přijímat nová data.

Praktické učení:Používání vytvářecích dotazů

  1. Databáze Altair Realtors3 by měla být stále otevřena.
    Na pásu karet klikněte na Vytvořit a v části Dotazy klikněte na Návrh dotazu
  2. V dialogovém okně Zobrazit tabulky klikněte na Vlastnosti, klikněte na Přidat a poté na Zavřít
  3. V části Typ dotazu na pásu karet klikněte na tlačítko Vytvořit tabulku
  4. Do pole Název tabulky zadejte Condominiums jako název tabulky

  5. Ujistěte se, že je vybrán přepínač Aktuální databáze a klikněte na tlačítko OK
  6. V seznamu Vlastnosti poklepejte na PropertyNumber, PropertyType, City, Local, State, Ložnice, Koupelny, Dokončený suterén, IndoorGarage, Condition a MarketValue
  7. Ve spodní části okna klikněte na pole Kritéria pro sloupec PropertyType a zadejte condominium
  8. Klepnutím na zaškrtávací políčko Zobrazit zrušíte zaškrtnutí

  9. Chcete-li vytvořit tabulku, klikněte na pásu karet na tlačítko Spustit
  10. Obdržíte zprávu

  11. Přečtěte si jej a klikněte na Ano
  12. Zavřete dotaz bez jeho uložení
  13. V navigačním podokně poklepejte na tabulku Condominiums

  14. Zavřete tabulku

Aktualizační dotaz

Pokud máte velký seznam a mnoho záznamů potřebuje obdržet společnou změnu, můžete vytvořit speciální dotaz s názvem Aktualizační dotaz. Aktualizační dotaz umožňuje změnit existující hodnoty jednoho nebo více sloupců tabulky. Jinými slovy, můžete načíst hodnoty, které jsou již v polích tabulky, změnit tyto hodnoty a uložit tabulku s nimi.

Chcete-li vytvořit připojovací dotaz, spusťte dotaz v návrhovém zobrazení. V části Typ dotazu na pásu karet klikněte na tlačítko Aktualizovat . Při vytváření dotazu budete muset nastavit podmínku, že bude aplikace Microsoft Access aplikovat na tabulku, abyste zjistili, jaké záznamy je třeba aktualizovat. Chcete-li to provést, použijte pole Kritéria ve sloupci, jak jsme se naučili během analýzy dat.

Praktická výuka:Aktualizace záznamů

  1. Otevřete databázi Metro System1 z lekce 18
  2. V navigačním podokně poklepejte na tabulku Silver Line a zobrazte její záznamy

  3. Zavřete tabulku
  4. Na pásu karet klikněte na Vytvořit a v části Dotazy klikněte na Návrh dotazu
  5. V dialogovém okně Zobrazit tabulky klikněte na Stříbrná čára, klikněte na Přidat a poté na Zavřít
  6. V části Typ dotazu na pásu karet klikněte na tlačítko Aktualizovat
  7. V horním seznamu dvakrát klikněte na MetroLine
  8. Ve spodní části okna klikněte na pole Kritéria pro sloupec MetroLine a zadejte Silver

  9. Chcete-li akci provést, klikněte na pásu karet na tlačítko Spustit
  10. Obdržíte schránku se zprávou

    Přečtěte si jej a klikněte na Ano
  11. Zavřete dotaz bez jeho uložení
  12. V navigačním podokně poklepejte na tabulku Silver Line a zkontrolujte ji

  13. Zavřete tabulku

Připojovací dotaz

Pokud máte tabulku s velkým počtem záznamů a potřebujete tyto záznamy přidat do jiné tabulky, může vás práce zahltit. Microsoft Access poskytuje funkci pro vytvoření speciálního dotazu, který lze použít k přidání mnoha záznamů do tabulky v jednom kroku.

Připojovací dotaz vám umožňuje přidávat záznamy do existující tabulky, ale nevytváříte záznamy. Musí být načteny z jedné tabulky a přidány do jiné tabulky.

Chcete-li vytvořit připojovací dotaz, spusťte dotaz v návrhovém zobrazení. V části Typ dotazu na pásu karet klikněte na tlačítko Přidat . Zobrazí se dialogové okno, které očekává, že buď vyberete tabulku, do které budete záznamy přidávat, nebo zadáte název nové tabulky, která bude záznamy přijímat. Pokud chcete přidat záznamy do existující tabulky, můžete ji vybrat z rozbalovacího pole.

Jak si dokážete představit, připojení záznamu spočívá v přidání záznamu do tabulky. Pokud to chcete provést v SQL, jednoduše vytvořte INSERT prohlášení.

Praktické učení:Připojování záznamů

  1. Databáze Metro System1 by měla být stále otevřena.
    V navigačním podokně poklepejte na tabulku MetroStations a přejděte v seznamu úplně dolů
  2. Všimněte si, že pro stříbrnou řadu nejsou žádné stanice.
    Zavřete stůl
  3. Na pásu karet klikněte na Vytvořit a v části Dotazy klikněte na Návrh dotazu
  4. V dialogovém okně Zobrazit tabulku klikněte na Stříbrná čára, klikněte na Přidat a poté na Zavřít
  5. V části Typ dotazu na pásu karet klikněte na tlačítko Přidat
  6. V dialogovém okně Přidat klikněte na šipku v rozbalovacím seznamu Název tabulky a vyberte MetroStation

  7. Klikněte na tlačítko OK
  8. V horním seznamu dvakrát klikněte na StationNumber, StationName, MetroLine a Location
  9. Chcete-li provést dotaz, klikněte na pásu karet na tlačítko Spustit
  10. Přečtěte si zprávu:

    Poté klikněte na Ano
  11. Zavřete dotaz bez jeho uložení
  12. V navigačním podokně poklepejte na tabulku MetroStation a posuňte se v seznamu úplně dolů.
  13. Všimněte si, že nyní obsahuje stanice pro stříbrnou řadu.
    Zavřete stůl

Dotaz na odstranění

Pokud máte několik záznamů, které je třeba z tabulky odebrat, aplikace Microsoft Access poskytuje různé techniky k odstranění takových záznamů. Chcete-li odstranit skupinu záznamů v jedné akci, můžete vytvořit speciální dotaz nazvaný Vymazat dotaz.

Stejně jako všechny ostatní akční dotazy vám i Delete Query umožňuje vybrat potřebná pole tabulky. První rozdíl mezi tímto a Select Query je ten, že Delete Query, stejně jako všechny ostatní akční dotazy, vybírá nebo bere v úvahu všechna pole, dokonce i ta, která nezahrnujete do svého příkazu. Další sloupce jsou ty, které by se použily k určení pravidel, podle kterých musí být záznam odstraněn.

Můžete použít kritérium nebo mnoho kritérií k nastavení pravidla, které se má dodržovat, abyste se zbavili (a) záznamu (záznamů). Stejně jako většina ostatních akčních dotazů je akce Delete Query nevratná.

Praktické učení:Mazání záznamů databáze

  1. Databáze Metro System1 by měla být stále otevřena.
    V navigačním podokně dvakrát klikněte na tabulku MetroStation a otevřete ji
  2. Posuňte se dolů a všimněte si, že některé stanice jsou pro linku Maroon, ale víme, že žádná linka Maroon metro neexistuje
  3. Zavřete tabulku MetroStation
  4. Na pásu karet klikněte na Vytvořit a v části Dotazy klikněte na Návrh dotazu
  5. V dialogovém okně Zobrazit tabulky klikněte na MetroStation, klikněte na Přidat a poté na Zavřít
  6. V části Typ dotazu na pásu karet klikněte na tlačítko Odstranit
  7. V horním seznamu dvakrát klikněte na MetroLine
  8. Ve spodní části klikněte na pole Kritéria pro sloupec a zadejte hnědá

  9. Chcete-li akci provést, klikněte na pásu karet na tlačítko Spustit
  10. Obdržíte schránku se zprávou

  11. Přečtěte si jej a klikněte na Ano
  12. V navigačním podokně poklepejte na tabulku MetroStation a otevřete ji
  13. Posuňte se dolů a všimněte si, že zde nejsou žádné další stanice Maroon
  14. Zavřete tabulku MetroStation
  15. Zavřete tabulku

Speciální operace s dotazy

Sloučení záznamů mnoha tabulek

Máte-li různé tabulky, můžete vytvořit dotaz, který kombinuje jejich záznamy, abyste je mohli prozkoumat, když jsou sestaveny. Aby vám s tím pomohl, SQL poskytuje operátor s názvem UNION . Primární vzorec pro jeho použití je:

SELECT columns-names FROM table-name1
UNION [ALL]
SELECT columns-names FROM table-name2

Thyis je ekvivalentní vytvoření dvou SELECT prohlášení. Každý obsahuje nějaké sloupce a tabulku. Oba příkazy musí obsahovat stejný počet sloupců. Datové typy sloupců na každé pozici musí být kompatibilní.

Praktické učení:Slučování záznamů mnoha tabulek

  1. Otevřete databázi Ceil Inn3 z lekce 40
  2. Na pásu karet klikněte na Vytvořit a v části Dotazy klikněte na Návrh dotazu
  3. V dialogovém okně Zobrazit tabulku poklepejte na Zaměstnanci a úředníci
  4. Klikněte na tlačítko Zavřít
  5. V seznamech Zaměstnanci dvakrát klikněte na Číslo zaměstnance, Jméno a Příjmení
  6. V seznamu Úředníci poklepejte na Kód úředníka, Jméno a Příjmení

  7. Klikněte pravým tlačítkem na okno dotazu a klikněte na SQL View
  8. Příkaz SQL změňte následovně:
    SELECT Employees.EmployeeNumber,
           Employees.FirstName,
           Employees.LastName
    FROM Employees
    UNION
    SELECT Clerks.ClerkCode,
           Clerks.FirstName,
           Clerks.LastName
    FROM Clerks;
  9. Chcete-li provést dotaz, klikněte na tlačítko Spustit

  10. Zavřete dotaz
  11. Když se zeptáte, zda chcete uložit, klikněte na Ne

Výběr do tabulky

Pokud máte nějaké záznamy v existující tabulce, můžete zkopírovat všechny nebo některé z těchto záznamů a umístit je do nové tabulky, kterou vytvoříte. Chcete-li to provést, postupujte podle vzorce:

SELECT fields INTO new-table-name FROM existing-table [WHERE condition]

Chcete-li použít všechny sloupce a všechny záznamy, začněte s SELECT operátor, za ním * a za ním INTO , následovaný názvem tabulky, kterou chcete vytvořit, následovaným FROM a název původní tabulky obsahující záznamy. Zde je příklad:

SELECT * INTO CompanyRecipients FROM Employees;

Místo použití všech sloupců můžete za SELECT zadat pouze požadované pole klíčové slovo. Zde je příklad:

SELECT EmployeeNumber, LastName, FirstName, EmploymentStatus
INTO Salaried FROM Employees;

Místo použití všech záznamů můžete použít podmínku, podle které budou záznamy vybrány a přidány do nově vytvářené tabulky. Chcete-li nastavit podmínku, můžete vytvořit KDE výrok jako poslední v celém výrazu. Zde je příklad:

SELECT *
INTO FullTimeEmployees
FROM Employees
WHERE EmploymentStatus = 'Full Time';

Odstranění všech záznamů z tabulky

Chcete-li v SQL odstranit všechny záznamy z tabulky, použijte DELETE příkaz. Vzorec, který je třeba dodržovat, je:

DELETE columns-names FROM table-name;

Normálně jako názvy sloupců používáte * . název-tabulky parametr musí být platný název tabulky aktuální databáze. Zde je příklad:

DELETE * FROM States;

Když provedete, obdržíte upozornění:

Pokud kliknete na Ano, všechny záznamy z tabulky budou odstraněny.

Smazání některých záznamů

Chcete-li odstranit jeden nebo více záznamů, přidejte KDE podmínku na DELETE příkaz. Vzorec, který je třeba dodržovat, je:

DELETE columns-names FROM table-name WHERE condition;

KDE klauzule specifikuje podmínku, za které budou některé záznamy vymazány. Zde je příklad:

DELETE * FROM [Staff Members] WHERE [Marital Status] = "Single";

Když znovu spustíte, obdržíte upozornění, které vám umožní rozhodnout se, zda chcete v operaci pokračovat.

Praktické učení:Ukončení lekce

  • Zavřete Microsoft Access

  1. Jak zjistím, zda je můj systém Oracle nastaven na podporu Unicode nebo vícebajtových znaků?

  2. Jak zabránit duplicitním uživatelským jménům při registraci lidí?

  3. Migrace vašeho klastru Cassandra

  4. Jak DAYNAME() funguje v MariaDB