SQL (structured Query Language) DDL (Data Definition Language) Ontwerp database DML (Data Manipulation Language) Bevraag database Begrippen in een database Tabel (reeks bij elkaar horende gegevens) Veld a. veldnaam (titel kolom) (attribuut/ b. Veldgegevens (de vulling kolom) van een kolom) Tupel (rij in een tabel, record) (rij/record) Begrippen in een database (2) Sleutel (het veld dat ervoor zorgt dat ieder record uniek is) Vreemde sleutel (geen betekenis in de tabel, maar zorgt voor Combinatiemogelijkheden) < > SELECT (welke kolommen worden zichtbaar in het rapport) FROM (uit welke tabellen moet de informatie komen) WHERE (aan welke voorwaarden moet de informatie voldoen) GROUP BY (hoe moeten de data in het rapport gegroepeerd worden) HAVING (welke voorwaarden kunnen aan de groep gesteld worden) ORDER BY (welke kolom alfabetisch) SELECT 1. Kolomnamen 2. Kolomnaam AS [nieuwe naam] 3. COUNT (Distinct/unique) 4. MIN 5. MAX 6. SUM 7. AVG 8. Rekenfuncties 1. kolomnamen Functie: geeft kolommen in een rapport weer Syntax: SELECT * (selecteert alles uit de tabel) SELECT naam SELECT leden.naam, adres 2. Kolomnaam AS [nieuwe naam] Functie: hernoemt de kolom Syntax: SELECT salaris AS loon SELECT salaris AS [laatste loon] 3. COUNT Functie: telt het aantal tupels, geeft dus een getal weer Syntax: SELECT COUNT(naam) 3a. COUNT (DISTINCT/UNIQUE) Functie: telt het aantal verschillende tupels Syntax: SELECT COUNT(DISTINCT naam) 4. MIN Functie: geeft de minimale waarde (zowel cijfers als letters) Syntax: SELECT naam,MIN(salaris) 5. MAX Functie: geeft de maximale waarde (zowel cijfers als letters) Syntax: SELECT naam, MAX(salaris) 6. SUM Functie: optellen van getallen Syntax: SELECT SUM(salaris) 7. AVG Functie: geeft het gemiddelde weer van een aantal getallen Syntax: SELECT AVG(salaris) 8. Rekenfuncties Mogelijk zijn de rekenkundige Bewerkingen + - * / Functie: verandert de veldgegevens middels berekeningen Syntax: SELECT salaris*1.1 AS [nieuw salaris] FROM Functie: uit welke tabellen moet de informatie komen Syntax: FROM tblLeden, tblTeam WHERE Functie: geeft de voorwaarde(n) waaraan de data moeten voldoen 1. Relationele operatoren 2. Logische operatoren 3. Predikaatfuncties 1. Relationele operatoren (=, <>(^=), >, <, >=, <=,) Syntax: WHERE salaris = 2500 WHERE naam=“Flipsen” 2. Logische operatoren (Booleaanse operatoren) AND, OR, NOT Functie: koppelt twee of meer voorwaarden aan elkaar, of geeft aan wat niet voor mag komen Syntax: WHERE naam=“Fritsen” AND (OR) (NOT) woonplaats=“Nuenen” 3. Predikaatfuncties 1. LIKE 2. NULL 3. BETWEEN 4. IN 5. subquery 1. LIKE Functie: zoekt naar een bepaald tekstpatroon Wildcards: _ een willekeurig teken % nul of meer willekeurige tekens Syntax: WHERE naam LIKE “Ruiter%” WHERE naam LIKE “%ite%” WHERE naam LIKE “_uit%” 2. NULL Functie: geeft aan dat een waarde niet is ingevuld Syntax: WHERE bankreknr IS NULL Let op: WHERE bankreknr = NULL Is niet toegestaan en WHERE bankreknr = 0 betekent iets anders 3. BETWEEN Functie: geeft aan de waarden tussen twee grenze moet liggen. incl de grenswaarden Syntax: WHERE bankrenr BETWEEN 245612 AND 250000 WHERE naam BETWEEN “Fritsen” AND “Janssen” 4. IN Functie: zoekt naar bepaalde, genoemde waarden in een kolom Syntax: WHERE bankreknr IN (12456,2346, 45678, 65234) WHERE naam IN (“Karelse”, “Smit”, “Davids”) Koppeling van tabellen 1. join 2. subquery Koppeling van tabellen 1. join Functie: voorkomen cartesisch product (alle mogelijke combinaties van tupels) Syntax: b.bestelnummer = br.bestelnummer AND ….. 2. subquery Functie: een zoekopdracht binnen een zoekopdracht Syntax: WHERE levcode IN (SELECT levcode FROM kan_lev WHERE pcode=“NB211”) GROUP BY Functie: splitst het rapport in groepen Syntax: SELECT bestelnummer, naam, FROM GROUP BY bestelnummer HAVING Functie: komt na de GROUP BY opdracht en legt een beperking op de groepen Syntax: SELECT woonplaats FROM leden GROUP BY woonplaats HAVING COUNT (boetes) >2 ORDER BY Functie: geeft aan welke kolom alfabetisch gezet wordt Syntax: SELECT FROM WHERE GROUP BY HAVING ORDER BY naam ASC/DESC