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
omschrijving
Id
Leden_Id
bestek voorzien
1
2
frisdrank meebrengen
2
1
aardappelsla maken
3
3
Leden
voornaam
Id
Yannick
1
Bavo
2
Max
3
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:
voornaam
omschrijving
Yannick
frisdrank meebrengen
Bavo
bestek voorzien
Max
aardappelsla 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.
Last updated
Was this helpful?