Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Създайте изглед в SQL Server 2017

В SQL Server можете да запишете заявка като изглед. Изгледите са полезни по много причини, включително сигурност, използваемост и удобство.

В SQL Server, изглед е виртуална таблица, чието съдържание се дефинира от заявка. По същество това е предварително написана заявка, която се съхранява в базата данни.

Изгледът се състои от SELECT оператор и когато стартирате заявка към изгледа, виждате резултатите от него, както бихте направили, когато отваряте таблица. Изгледите се наричат ​​виртуални таблици, защото могат да събират заедно данни от множество таблици, както и обобщени данни и да ги представят, сякаш са една таблица.

Предимства на изгледите

Изгледът може да бъде полезен, когато има множество потребители с различни нива на достъп, които всички трябва да видят части от данните в базата данни (но не непременно всички данни). Изгледите могат да правят следното:

  • Ограничете достъпа до конкретни редове в таблица
  • Ограничете достъпа до конкретни колони в таблица
  • Обединете колони от множество таблици и ги представете така, сякаш са част от една таблица
  • Представете обобщена информация (като резултатите от COUNT() функция)

Как да създадете изглед

За да създадете изглед, използвайте CREATE VIEW оператор, последван от SELECT изявление.

CREATE VIEW ViewName 
AS
SELECT ...

Това е всичко. Когато изпълните този израз, изгледът се записва в базата данни

Пример

Ето пример за създаване на изглед и след това избиране на данни от този изглед.

  1. Създайте изгледа

    Изпълнете следното изявление срещу базата данни за музика, която създадохме в този урок.

    Този пример създава изглед, наречен RockAlbums. Той избира всички албуми, на които е присвоен Жанр "Рок".

    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. Преглед на изгледа

    Разгънете Изгледи възел под приложимата база данни, за да видите новосъздадения ви изглед. Можете също да разширите възлите на изгледа, за да видите колоните, които са включени в неговата дефиниция.

  3. Изпълнете изгледа

    След като изгледът е създаден, можете да го стартирате с помощта на SELECT изявление. Можете да изберете всичко или можете да изберете конкретни колони, да стесните допълнително резултатите с WHERE клауза и др.

    SELECT * 
    FROM RockAlbums;

Промяна на изглед

Можете да промените изгледа си с ALTER VIEW изявление.

Всичко, което правите, е да предоставите новата дефиниция на изглед, която искате да използвате. Така че това е почти като създаване на нов изглед с CREATE VIEW оператор, освен че променя съществуващ с ALTER VIEW изявление.

Ето един пример.

  1. Променете изгледа

    Изпълнете следното изявление. Това добавя нова колона към селекцията на изгледа (ReleaseDate колона).

    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. Изпълнете изгледа

    Сега, когато добавихме ReleaseDate колона към изгледа, можем да го използваме в нашите SQL заявки срещу изгледа.

    Например, можем да изберем всички албуми, при които датата на издаване е след определена дата.

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какви са разликите между клъстериран и неклъстериран индекс?

  2. Как да получите първата и последната дата на текущата година?

  3. Не може да се отвори потребителска база данни по подразбиране. Неуспешно влизане. след инсталиране на SQL Server Management Studio Express

  4. Преобразувайте заявката на SQL Server в MySQL

  5. Linux - PHP 7.0 и MSSQL (Microsoft SQL)