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: SELECT * FROM tlbPersonen WHERE naam = ‘Hernandis’ AND land = ‘Aruba’; IDNaamLandPlaats 01KoomenNederlan d Wormer 02RuysNederlan d Diemen 03KazanNederlan d Zaandam 04Hernandi s Nederlan d Wormer 05KoomenNederlan d Wormer 06Hernandi s ArubaPiedra Plat 07DumfriesArubaWayacca 08KorffNederlan d Wormer 09RasArubaPiedra Plat 10TaherianNederlan d Zaandijk
SELECT | vervolg Weergeven van alle personen die uit Wormer of Diemen komen: SELECT * FROM tlbPersonen WHERE plaats = ‘Wormer’ OR plaats = ‘Diemen’; Weergeven van kolom naam en land” SELECT naam, land FROM tlbPersonen; Weergeven van alle plaatsen die beginnen met een “W” SELECT plaats FROM tlbPersonen WHERE plaats = ‘W%’; IDNaamLandPlaats 01KoomenNederlan d Wormer 02RuysNederlan d Diemen 03KazanNederlan d Zaandam 04Hernandi s Nederlan d Wormer 05KoomenNederlan d Wormer 06Hernandi s ArubaPiedra Plat 07DumfriesArubaWayacca 08KorffNederlan d Wormer 09RasArubaPiedra Plat 10TaherianNederlan d Zaandijk
SELECT DISTINCT Weergeven van unieke landen: SELECT DINSTINCT land FROM tblPersonen; IDNaamLandPlaats 01KoomenNederlan d Wormer 02RuysNederlan d Diemen 03KazanNederlan d Zaandam 04Hernandi s Nederlan d Wormer 05KoomenNederlan d Wormer 06Hernandi s ArubaPiedra Plat 07DumfriesArubaWayacca 08KorffNederlan d Wormer 09RasArubaPiedra Plat 10TaherianNederlan d Zaandijk
LIKE Het LIKE statement kan worden gebruikt om op een bepaalde gedeelte Van een kolom te zoeken: SELECT naam, plaats FROM tblPersonen WHERE plaats LIKE ‘Zaan’; of SELECT naam, plaats FROM tblPersonen WHERE land LIKE ‘_____land’; IDNaamLandPlaats 01KoomenNederlan d Wormer 02RuysNederlan d Diemen 03KazanNederlan d Zaandam 04Hernandi s Nederlan d Wormer 05KoomenNederlan d Wormer 06Hernandi s ArubaPiedra Plat 07DumfriesArubaWayacca 08KorffNederlan d Wormer 09RasArubaPiedra Plat 10TaherianNederlan d Zaandijk
ORDER BY Laat alle gegevens zien gesorteerd op plaats; SELECT naam, plaats FROM tblPersonen ORDER BY plaats; Sorteer de plaatsnaam van A > Z SELECT naam, plaats FROM tblPersonen ORDER BY plaats ASC(ending); Sorteer de plaatsnaam van Z > A SELECT naam, plaats FROM tblPersonen ORDER BY plaats DESC(ending); IDNaamLandPlaats 01KoomenNederlan d Wormer 02RuysNederlan d Diemen 03KazanNederlan d Zaandam 04Hernandi s Nederlan d Wormer 05KoomenNederlan d Wormer 06Hernandi s ArubaPiedra Plat 07DumfriesArubaWayacca 08KorffNederlan d Wormer 09RasArubaPiedra Plat 10TaherianNederlan d Zaandijk
Werken met data Laat alle namen zien van personen welke in 2006 in dienst zijn gekomen: SELECT * FROM tblPersonen WHERE year(datum) = ‘2006’; Laat alle namen zien van personen welke in oktober in dienst zijn gekomen: SELECT * FROM tblPersonen WHERE month(datum) = ‘10’; IDNaamDatum 01Koomen Ruys Kazan Hernandi s
Samenvattende functies Een hulpmiddel om overzicht te houden op de data in de database. Veel gebruikte samenvattende functies: AVG COUNT COUNT(*) MIN MAX SUM
AVG Om het gemiddelde binnen een groep te berekenen. Werkt alleen met numerieke datatypen. SELECT AVG(prijs) gemiddelde FROM tblBoeken WHERE Genre='Literaire thriller'; IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00
COUNT Om te tellen hoe vaak een expressie in een groep voorkomt. SELECT COUNT (genre) genre_lit_thriller FROM tblBoeken WHERE Genre='Literaire thriller'; IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00
COUNT (*) Om te tellen hoeveel rijen er zich in de groep bevinden. SELECT COUNT(*) tel_alles FROM tblBoeken; IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00
MIN Om te bepalen welke expressie de laagste waarde heeft binnen een groep. SELECT MIN(prijs) min_prijs FROM tblBoeken WHERE='Literaire thriller'; IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00
MAX Om te bepalen welke expressie de hoogste waarde heeft binnen een groep. SELECT MAX(prijs) max_prijs FROM tblBoeken WHERE Genre='Literaire thriller'; IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00
SUM Om het totaal te bepalen van alle waarden van een expressie binnen een groep. Werkt alleen met numerieke datatypen. SELECT SUM(prijs) totale_prijs FROM tblBoeken; IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00
Subquery Query in een query; te gebruiken om extra gegevens op te halen uit dezelfde of een andere tabel. SELECT * FROM boeken WHERE Prijs > (SELECT AVG(Prijs) FROM boeken); IDAuteurTitelGenrePrijs 1Stieg LarssonMannen die vrouwen haten Literaire thriller 26,95 2Karin Slaughter GenesisLiteraire thriller 19,90 3Steve BrownDrugsbaron in spijkerbroek True crime16,95 4Dan BrownHet verloren symboolThriller22,90 5Jeroen Koomen SQL for DummiesComputer10,00