SQL

32
SQL SAMENVATTING

description

SQL. Les 01 & 02. SELECT. Weergeven van alle gegevens uit een tabel: SELECT * FROM tlbPersonen ; Weergeven van alle personen die uit Aruba komen: SELECT * FROM tlbPersonen WHERE land = ‘Aruba ’; Weergeven van personen met de achternaam Hernandis en die op Aruba wonen: - PowerPoint PPT Presentation

Transcript of SQL

Page 1: SQL

SQLSAMENVATTING

Page 2: SQL

SELECT Weergeven van alle gegevens uit een tabel:

SELECT *FROM tlbPersonen;

Weergeven van alle personen die uit Aruba komen:SELECT *FROM tlbPersonenWHERE land = ‘Aruba’;

Weergeven van personen met de achternaam Hernandis en die op Aruba wonen:

SELECT * FROM tlbPersonenWHERE naam = ‘Hernandis’ AND land = ‘Aruba’;

ID Naam Land Plaats01

Koomen Nederland

Wormer

02

Ruys Nederland

Diemen

03

Kazan Nederland

Zaandam

04

Hernandis

Nederland

Wormer

05

Koomen Nederland

Wormer

06

Hernandis

Aruba Piedra Plat

07

Dumfries

Aruba Wayacca

08

Korff Nederland

Wormer

09

Ras Aruba Piedra Plat

10

Taherian Nederland

Zaandijk

Page 3: SQL

SELECT | vervolg Weergeven van alle personen die uit Wormer of Diemen komen:

SELECT *FROM tlbPersonenWHERE plaats = ‘Wormer’ OR plaats = ‘Diemen’;

Weergeven van kolom naam en land”SELECT naam, landFROM tlbPersonen;

Weergeven van alle plaatsen die beginnen met een “W”SELECT plaatsFROM tlbPersonenWHERE plaats = ‘W%’;

ID Naam Land Plaats01

Koomen Nederland

Wormer

02

Ruys Nederland

Diemen

03

Kazan Nederland

Zaandam

04

Hernandis

Nederland

Wormer

05

Koomen Nederland

Wormer

06

Hernandis

Aruba Piedra Plat

07

Dumfries

Aruba Wayacca

08

Korff Nederland

Wormer

09

Ras Aruba Piedra Plat

10

Taherian Nederland

Zaandijk

Page 4: SQL

SELECT DISTINCT Weergeven van unieke landen:

SELECT DISTINCT landFROM tblPersonen;

ID Naam Land Plaats01

Koomen Nederland

Wormer

02

Ruys Nederland

Diemen

03

Kazan Nederland

Zaandam

04

Hernandis

Nederland

Wormer

05

Koomen Nederland

Wormer

06

Hernandis

Aruba Piedra Plat

07

Dumfries

Aruba Wayacca

08

Korff Nederland

Wormer

09

Ras Aruba Piedra Plat

10

Taherian Nederland

Zaandijk

Page 5: SQL

LIKE Het LIKE statement kan worden gebruikt om op een bepaalde gedeelte Van een kolom te zoeken:

SELECT naam, plaatsFROM tblPersonenWHERE plaats LIKE ‘Zaan’;

of

SELECT naam, plaats FROM tblPersonen WHERE land LIKE ‘_____land’;

ID Naam Land Plaats01

Koomen Nederland

Wormer

02

Ruys Nederland

Diemen

03

Kazan Nederland

Zaandam

04

Hernandis

Nederland

Wormer

05

Koomen Nederland

Wormer

06

Hernandis

Aruba Piedra Plat

07

Dumfries

Aruba Wayacca

08

Korff Nederland

Wormer

09

Ras Aruba Piedra Plat

10

Taherian Nederland

Zaandijk

Page 6: SQL

ORDER BY Laat alle gegevens zien gesorteerd op plaats;SELECT naam, plaatsFROM tblPersonenORDER BY plaats;

Sorteer de plaatsnaam van A > ZSELECT naam, plaatsFROM tblPersonenORDER BY plaats ASC(ending);

Sorteer de plaatsnaam van Z > ASELECT naam, plaatsFROM tblPersonenORDER BY plaats DESC(ending);

ID Naam Land Plaats01

Koomen Nederland

Wormer

02

Ruys Nederland

Diemen

03

Kazan Nederland

Zaandam

04

Hernandis

Nederland

Wormer

05

Koomen Nederland

Wormer

06

Hernandis

Aruba Piedra Plat

07

Dumfries

Aruba Wayacca

08

Korff Nederland

Wormer

09

Ras Aruba Piedra Plat

10

Taherian Nederland

Zaandijk

Page 7: SQL

Werken met data Laat alle namen zien van personen welke in 2006 indienst zijn gekomen:

SELECT *FROM tblPersonenWHERE year(datum) = ‘2006’;

Laat alle namen zien van personen welke in oktober indienst zijn gekomen:

SELECT *FROM tblPersonenWHERE month(datum) = ‘10’;

ID Naam Datum01 Koomen 16-09-200102 Ruys 08-08-200603 Kazan 01-06-200604 Hernand

is31-10-2010

Page 8: SQL

Samenvattende functies Een hulpmiddel om overzicht te houden op de data in de database. Veel gebruikte samenvattende functies: AVG COUNT COUNT(*) MIN MAX SUM

Page 9: SQL

AVG Om het gemiddelde binnen een groep te berekenen. Werkt alleen met numerieke datatypen.

SELECT AVG(prijs) gemiddeldeFROM tblBoekenWHERE Genre='Literaire thriller';

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 10: SQL

COUNT Om te tellen hoe vaak een expressie in een groep voorkomt.

SELECT COUNT (genre) genre_lit_thrillerFROM tblBoekenWHERE Genre='Literaire thriller';

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 11: SQL

COUNT (*) Om te tellen hoeveel rijen er zich in de groep bevinden.

SELECT COUNT(*) tel_allesFROM tblBoeken;

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 12: SQL

MIN Om te bepalen welke expressie de laagste waarde heeft binnen een groep.

SELECT MIN(prijs) min_prijsFROM tblBoekenWHERE='Literaire thriller';

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 13: SQL

MAX Om te bepalen welke expressie de hoogste waarde heeft binnen een groep.

SELECT MAX(prijs) max_prijsFROM tblBoekenWHERE Genre='Literaire thriller';

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 14: SQL

SUM Om het totaal te bepalen van alle waarden van een expressie binnen een groep. Werkt alleen met numerieke datatypen.

SELECT SUM(prijs) totale_prijsFROM tblBoeken;

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 15: SQL

Subquery Query in een query; te gebruiken om extra gegevens op te halen uit dezelfde of een andere tabel.

SELECT *FROM boekenWHERE Prijs > (SELECT AVG(Prijs)

FROM boeken);

ID Auteur Titel Genre Prijs

1 Stieg Larsson

Mannen die vrouwen haten

Literaire thriller

26,95

2 Karin Slaughter

Genesis Literaire thriller

19,90

3 Steve Brown Drugsbaron in spijkerbroek

True crime 16,95

4 Dan Brown Het verloren symbool Thriller 22,905 Jeroen

KoomenSQL for Dummies Computer 10,00

Page 16: SQL

Datamanipulatie (DML) SQL statements die gegevens bewerken (invoeren, wijzigen en verwijderen) worden DML statements genoemd. INSERT UPDATE DELETE

Page 17: SQL

INSERT I Gegevens kunnen op meerdere manieren in een tabel worden ingevoerd: invoeren per record; invoeren van meerdere records tegelijk; overhevelen van records uit een bestaande tabel naar een andere

tabel;

Page 18: SQL

INSERT II Voor alle INSERT-commando’s geldt: de waarden moeten voldoen aan de constraints, bijvoorbeeld NOT

NULL kolommen moeten worden ingevuld; de waarden, ingevuld achter VALUES, moeten dezelfde datatype

hebben als de kolom waarin ze geplaatst worden; de alfanumerieke gegevens moeten tussen quotes.

Page 19: SQL

INSERT III Invoeren per record:INSERT INTO tblBoeken

VALUES ('6', 'Shoren Hernandis', 'Aruba', 'Reizen','29.99');

Invoeren van meerdere records tegelijk:INSERT tblBoeken (ID, Auteur, Titel, Genre, Prijs)VALUES ('7', 'Jeroen Koomen', 'SQL de antwoorden', 'Computer','19.99'),('8', 'Adnan Kazan', 'Windows Server 2008', 'Computer','29.99');

Page 20: SQL

INSERT IVOverhevelen van records uit een bestaande tabel naar een andere tabel:

INSERT tblBoekenImport (ID, Auteur, Titel, Genre, Prijs)SELECT ID, Auteur, Titel, Genre, PrijsFROM tblBoekenWhere ID IN (1, 5, 6, 7);

Page 21: SQL

UPDATE Als de bestaande inhoud van een tabel moet worden gewijzigd.UPDATE tblBoekenSET prijs = Prijs + 5WHERE prijs < 15;

UPDATE tblBoekenSET auteur = ‘Shoren Koomen-Hernandis’WHERE auteur = ‘Shoren Hernandis’;

Page 22: SQL

DELETE Wanneer complete rijen uit een tabel moeten worden verwijderd:

DELETE FROM tblBoeken;

Een specifieke rij verwijderen:

DELETE FROM BoekenWHERE Auteur = 'Adnan Kazan';

Page 23: SQL

Views I Een virtuele tabel

Voordelen views:-afschermen van vertrouwelijke gegevens;-in een view kunnen zelfgemaakte kolommen afgedrukt worden of vaste berekeningen worden uitgevoerd;-Wanneer een combinatie van bepaalde gegevens uit bepaalde tabellen nodig zijn is het gemakkelijk om een view te creëren.

Page 24: SQL

Views II De basissyntax van een view is:CREATE VIEW <viewnaam> [kolomnaam1, kolomnaam2, …..]AS SELECT kolomnaam1, kolomnaam2, ….FROM <tabelnaam>WHERE <voorwaarde(n)>;

LET OP!Een viewnaam mag niet hetzelfde zijn als een tabelnaam!

Page 25: SQL

Views IIICREATE VIEW genre_thriller (titel, genre, prijs)AS SELECT titel, genre, prijsFROM boekenWHERE Genre='thriller';

View tonen:SELECT *FROM genre_thriller;

View verwijderen:DROP VIEW genre_thriller;

Page 26: SQL

SELECT…INTO I Met deze functie is het mogelijk om tijdelijke tabellen aan te maken, die een resultaat van een bewerking kunnen opslaan.

Maar ook is het mogelijk om permanente tabellen aan te maken.

Page 27: SQL

SELECT…INTO IISELECT auteur, titel, genreINTO tblBackup_boekenFROM tblBoeken;

Als we de tabelnaam achter INTO door #tblBoekenTemp vervangen, wordt er een tijdelijke tabel aangemaakt. We kunnen dan uit beide Tabellen selecteren:

SELECT * FROM #tblBoekenTemp;SELECT * FROM tblBackup_boeken;

Page 28: SQL

Beheren van tabellen Voor het aanmaken, aanpassen en verwijderen van databaseobjecten zijn de volgende opdrachten bedoeld: CREATE; ALTER; DROP.

Page 29: SQL

CREATE Met deze functie kunnen we een tabel aanmaken.

CREATE TABLE tblBoeken(boek_id int NOT NULL, boektitel varchar(100) NULL,isbn char(17),Auteur varchar(50) NULL);

Page 30: SQL

ALTER I Met deze functie kunnen we de tabellen in de database aanpassen.

Toevoegen van een nieuwe kolom IALTER TABLE tblBoekenADD Inkoopprijs MONEY;

Toevoegen van een nieuwe kolom IIALTER TABLE tblBoekenADD Inkoopprijs MONEY DEFAULT 10.00 NOT NULL;

Page 31: SQL

ALTER II Verwijderen van een kolom: ALTER TABLE tblBoekenDROP COLUMN Inkoopprijs;

Aanpassen van een datatype in een kolom:ALTER TABLE tblBoekenALTER COLUMN BoekenID INT;

Page 32: SQL

DROP Met deze functie kunnen we een tabel verwijderen.

DROP TABLE tblBoeken;