270 likes | 415 Views
Module 7 – Hoofdstuk 5 (3). SQL – Sleutels, ‘LIKE’, groeperen & sorteren. Primaire sleutel. In een database is het onmogelijk dat twee rijen exact hetzelfde zijn De primaire sleutel maakt iedere rij in een tabel uniek De primaire sleutel wordt gevormd door een of meerdere kolommen.
E N D
Module 7– Hoofdstuk 5 (3) SQL – Sleutels, ‘LIKE’, groeperen & sorteren
Primaire sleutel In een database is het onmogelijk dat twee rijen exact hetzelfde zijn De primaire sleutel maakt iedere rij in een tabel uniek De primaire sleutel wordt gevormd door een of meerdere kolommen
Primaire sleutel In dit voorbeeld is de kolom ‘contractnummer’ de primaire sleutel Hoe kan je dat zien inhet programma?
Primaire sleutel Een primaire sleutel moet soms uit meerdere kolommen bestaan Tabel ‘voertuig’ Alleen de kolom ‘merk’ maakt een rij in deze database niet uniek, daar is ook de kolom ‘type’ voor nodig
Refererende sleutel • Koppeling tussen twee tabellen • Bijvoorbeeld tussen de tabel ‘contract’ en ‘klant’
Refererende sleutel • Tabel ‘contract’ • Primaire sleutel ‘contractnummer’ • Tabel ‘klant’ • Primaire sleutel ‘klantnummer’
Refererende sleutel • Tabel ‘contract’ • Refererende sleutel‘klantnummer’ • Een refererende sleutel is duseen primaire sleutel uit eenandere tabel
LIKE • Mens Geef een overzicht van alle klanten die het woord ‘straat’ in hun adres hebben. • Database SELECT *FROM T_klantWHERE adres LIKE "%straat%"
Resultaat T_betaling
Wat houdt het in? Twee soorten ‘jokers’: % één of meerdere willekeurige karakters _precies één willekeurig karakter SELECT *FROM T_klantWHERE adres LIKE "%straat%" • SELECT * • Selecteer alles • FROM T_klant • Uit de tabel T_klant • WHERE adres LIKE "%straat%“ • Waar het adres ‘lijkt op’ straat
Groeperen • Mens Hoeveel geld heeft het tweewielercentrum per contract ontvangen? • Database SELECT contractnummer, SUM(betaald_bedrag)FROM T_betalingGROUP BY contractnummer
Wat houdt het in? SELECT contractnummer, SUM(betaald_bedrag)FROM T_betalingGROUP BY contractnummer • SELECT contractnummer, SUM(betaald_bedrag) • Selecteer het contractnummer • Geef de som van het betaalde bedrag • FROMT_betaling • Uit de tabel T_betaling • GROUP BY contractnummer • Groepeer het resultaat op contractnummer
Ordenen • Mens Geef een overzicht van alle voertuigen, met de prijs per maand oplopend. • Database SELECT *FROM T_voertuigORDER BY prijs_per_maand ASC
Wat houdt het in? SELECT *FROM T_voertuigORDER BY prijs_per_maand ASC • SELECT * • Selecteer alles • FROM T_klant • Uit de tabel T_klant • ORDER BY prijs_per_maand ASC • Sorteer op ‘prijs_per_maand’ oplopend
Even terug • Mens Hoeveel geld heeft het tweewielercentrum per contract ontvangen? • Database SELECT contractnummer, SUM(betaald_bedrag)FROM T_betalingGROUP BY contractnummer
Resultaat Kun je dit ook anders noemen? Ja!
Pseudoniem • Mens Hoeveel geld heeft het tweewielercentrum per contract ontvangen? • Database SELECT contractnummer, SUM(betaald_bedrag) AS totaal_bedragFROM T_betalingGROUP BY contractnummer
Wat houdt het in? pseudoniem SELECT contractnummer, SUM(betaald_bedrag)FROM T_betalingGROUP BY contractnummer • SELECT contractnummer, SUM(betaald_bedrag) AS totaal_bedrag • Selecteer het contractnummer • Geef de som van het betaalde bedrag met het pseudoniem betaald_bedrag
Pseudoniem 2 • Mens Hoeveel geld heeft het tweewielercentrum per contract ontvangen? Sorteer het resultaat op het bedrag. • Database SELECT contractnummer, SUM(betaald_bedrag) AS totaal_bedragFROM T_betalingGROUP BY contractnummer ORDER BY totaal_bedragASC
Oké, maar wat houdt het in? SELECT contractnummer, SUM(betaald_bedrag) AS totaal_bedragFROMT_betalingGROUP BY contractnummer ORDER BY totaal_bedragASC • ORDER BY totaal_bedragASC Sorteer het resultaat op het pseudoniem totaal_bedrag:D.w.z.: sorteer het resultaat van het kleinste totaalbedrag naar het grootste. (ASC is niet verplicht, dit is de standaardwaarde.)