Skip to main content

CREATE

Syntax

CREATE VIEW viewnaam
AS
SELECT ??? -- hier kan vanalles komen, maar er wordt een resultatenset getoond

Voorbeeld

We baseren ons voorbeeld op onderstaande tabellen Taken en Leden.

Taken

omschrijvingIdLeden_Id
bestek voorzien12
frisdrank meebrengen21
aardappelsla maken33

Leden

voornaamId
Yannick1
Bavo2
Max3

Het uitganspunt van een view is bepaalde data die afkomstig is uit verschillende tabellen samen te brengen en te benaderen als één nieuwe virtuele tabel.

Onderstaande query haalt bepaalde data op uit de tabellen Taken en Leden.

SELECT Leden.voornaam, Taken.omschrijving
FROM Taken
INNER JOIN Leden
ON Leden.Id = Taken.Leden_Id;

Het resultaat van deze query is:

voornaamomschrijving
Yannickfrisdrank meebrengen
Bavobestek voorzien
Maxaardappelsla maken

Als we het resultaat van bovenstaande query willen opslaan in een view, doen we dit op volgende manier:

CREATE VIEW TakenLeden
AS
SELECT Leden.voornaam, Taken.omschrijving
FROM Taken
INNER JOIN Leden ON Leden.Id = Taken.Leden_Id;

Eens je bovenstaande query CREATE VIEW hebt uitgevoerd wordt de view bewaard in de database.

In MySQL Workbench kan je een view vinden onder deze rubriek:

Nu kan je deze view bevragen zoals een gewone tabel.

SELECT *
FROM TakenLeden;

Wel belangrijk te weten dat een view de data niet fysisch bevat, maar telkens de query zal uitvoeren. Dat kan ons verder een heleboel schrijfwerk besparen bij complexe queries.