sql >> Databáze >  >> RDS >> Sqlserver

Vytvořte zobrazení v SQL Server 2017

V SQL Server můžete uložit dotaz jako zobrazení. Zobrazení jsou přínosná z mnoha důvodů, včetně zabezpečení, použitelnosti a pohodlí.

Na serveru SQL Server zobrazení je virtuální tabulka, jejíž obsah je definován dotazem. Je to v podstatě předem napsaný dotaz, který je uložen v databázi.

Pohled se skládá z SELECT a když spustíte dotaz proti pohledu, uvidíte jeho výsledky jako při otevírání tabulky. Pohledy se označují jako virtuální tabulky, protože mohou shromažďovat data z více tabulek i agregovaná data a prezentovat je, jako by šlo o jedinou tabulku.

Výhody zobrazení

Zobrazení může být užitečné, když existuje více uživatelů s různými úrovněmi přístupu, kteří všichni potřebují vidět části dat v databázi (ale ne nutně všechna data). Pohledy mohou provádět následující:

  • Omezit přístup ke konkrétním řádkům v tabulce
  • Omezit přístup ke konkrétním sloupcům v tabulce
  • Spojte sloupce z více tabulek a prezentujte je, jako by byly součástí jedné tabulky
  • Předložte souhrnné informace (jako jsou výsledky COUNT() funkce)

Jak vytvořit zobrazení

Chcete-li vytvořit pohled, použijte CREATE VIEW za ním následuje SELECT prohlášení.

CREATE VIEW ViewName 
AS
SELECT ...

To je vše. Když tento příkaz spustíte, pohled se uloží do databáze

Příklad

Zde je příklad vytvoření výběru dat a následného výběru dat z tohoto výběru dat.

  1. Vytvořte zobrazení

    Spusťte následující příkaz proti databázi Music, kterou jsme vytvořili v tomto kurzu.

    Tento příklad vytvoří pohled nazvaný RockAlbums. Vybere všechna alba, kterým byl přiřazen žánr "Rock".

    CREATE VIEW RockAlbums 
    AS
    SELECT AlbumName, ArtistName
    FROM Albums
    	INNER JOIN Artists
    	ON Albums.ArtistId = Artists.ArtistId 
        INNER JOIN Genres
        ON Albums.GenreId = Genres.GenreId
    WHERE Genres.Genre = 'Rock';
  2. Zobrazit zobrazení

    Rozbalte Zobrazení uzel pod příslušnou databází, abyste viděli svůj nově vytvořený pohled. Můžete také rozbalit uzly zobrazení, abyste viděli sloupce, které jsou zahrnuty v jeho definici.

  3. Spusťte zobrazení

    Nyní, když je pohled vytvořen, můžete jej spustit pomocí SELECT prohlášení. Můžete vybrat vše, nebo můžete vybrat konkrétní sloupce, výsledky dále zúžit pomocí WHERE doložka atd.

    SELECT * 
    FROM RockAlbums;

Změnit zobrazení

Svůj pohled můžete upravit pomocí ALTER VIEW prohlášení.

Jediné, co uděláte, je poskytnout novou definici pohledu, kterou chcete použít. Takže je to skoro jako vytvořit nový pohled pomocí CREATE VIEW kromě toho, že mění existující pomocí ALTER VIEW prohlášení.

Zde je příklad.

  1. Změnit zobrazení

    Spusťte následující příkaz. Tím se do výběru zobrazení přidá nový sloupec (ReleaseDate sloupec).

    ALTER VIEW RockAlbums 
    AS
    SELECT AlbumName, ArtistName, ReleaseDate
    FROM Albums
    	INNER JOIN Artists
    	ON Albums.ArtistId = Artists.ArtistId 
        INNER JOIN Genres
        ON Albums.GenreId = Genres.GenreId
    WHERE Genres.Genre = 'Rock';
  2. Spusťte zobrazení

    Nyní, když jsme přidali ReleaseDate sloupec k pohledu, můžeme to použít v našich SQL dotazech proti pohledu.

    Můžeme například vybrat všechna alba, jejichž datum vydání je po určitém datu.

    SELECT * 
    FROM RockAlbums
    WHERE ReleaseDate > '1985-01-01';

  1. Vložte data a nastavte cizí klíče pomocí Postgres

  2. SQL RANK() versus ROW_NUMBER()

  3. Jak zkontrolovat databázi Oracle pro dlouho běžící dotazy

  4. SQL update top1 řádek dotazu