sql >> Database >  >> RDS >> Database

SQL-weergaven

Een interessant ding dat u met SQL kunt doen, is het maken van een weergave .

Een weergave is als een tabel, behalve dat deze op zichzelf geen echte tabel is, maar dynamisch wordt opgebouwd door het resultaat van een SELECT-query.

Laten we het voorbeeld gebruiken dat we in de joins-les hebben gebruikt:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

CREATE TABLE cars (
  brand CHAR(20) NOT NULL,
  model CHAR(20) NOT NULL,
  owner CHAR(20) NOT NULL PRIMARY KEY
);

We voegen enkele gegevens toe:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');

We kunnen een weergave maken die we car_age . noemen die altijd de correlatie bevat tussen een automodel en de leeftijd van de eigenaar:

CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;

Hier is het resultaat dat we kunnen inspecteren met SELECT * FROM car_age :

        model         | owner_age 
----------------------+-----------
 Fiesta               |        37
 Mustang              |         8

De weergave is persistent en ziet eruit als een tabel in uw database. U kunt een weergave verwijderen met DROP VIEW :

DROP VIEW car_age

  1. StringWriter gebruiken voor XML-serialisatie

  2. SQLite JSON_TYPE()

  3. Entity Framework 6 voor MySql (C#) inschakelen in WinForms van Microsoft Visual Studio 2013

  4. Waarom staat Oracle SQL niet toe dat we kolomaliassen gebruiken in GROUP BY-clausules?