Les S-02: Meer geavanceerde SQL-instructies



Vergelijkbare documenten
Les S-01: De basisbeginselen van SQL

Les S-01: De basisbeginselen van SQL

Structured Query Language (SQL)

11. Het selecteren van gegevens deel II

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Computerclub Volwassenen, Jeugd en Informatica vzw

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

12. Meer dan één tabel gebruiken en sub-queries

Introductie (relationele) databases

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster

Query SQL Boekje. Fredrik Hamer

Structured Query Language

Miniles gegevensbanken bevragen met SQL

= > >= < <= BETWEEN IS NULL IS NOT NULL

oefeningen TOP2000 antwoorden

oefeningen eredivisie antwoorden

Data Manipulation Language

Relationele databases

Databases SQL - meerdere tabellen

INSTRUCT Samenvatting Praktijk Access 2010, H2 SAMENVATTING HOOFDSTUK 2

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

[TOETS SQL INLEIDING]

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

SQL & Relationele datamodellen in interactieve media

SQL: query taal met. woorden. ISO SQL: Structured Query Language. de SQL basis query structuur. voorbeeld: doel: intuitieve query taal

databases & SQL - antwoorden

ISO SQL: Structured Query Language

Sorteren, groeperen en totaliseren

Relationele database. Het relationele model

1. Inleiding Inleiding SQL Inleiding Database, databaseserver en databasetaal Het relationele model...

Data Manipulatie. Query Talen. / Informatica

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten in MS Access 2010

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen.

Gekoppelde tabellen: de JOIN

Antwoorden Informatica Hoofdstuk 7

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

Les 2 Eenvoudige queries

DATABASEBEHEER IN EXCEL

Access voor Beginners - Hoofdstuk 7

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC

Relationele databases en SQL

6.8 Lijsten: oefeningen

Antwoorden door een scholier 1990 woorden 3 maart keer beoordeeld. Informatica INFORMATICA HOOFDSTUK 4

Spiekboekje Excel Query SQL

SQL: oefenen queries

Gebruikers Handleiding

Zelftest SQL Workshop

Informatica. Staatsexamen HAVO Nederl. Tijdvak 1 Vrijdag 29 mei uur. College-examen schriftelijk. Opgavenboekje

S VERZENDEN MET AFDRUK SAMENVOEGEN

ISO Query By Example

Inleiding Databases en Data Base Management Systems Tabellen Wat is SQL?... 5

Databases gebruiken. Databases gebruiken

Informatica. Staatsexamen HAVO. Nederl. Tijdvak 1 Woensdag 23 mei uur. College-examen schriftelijk. Opgavenboekje

Moderne Naamkunde - Access practicum <David Onland en Gerrit Bloothooft juni 2008> 1. Databases

9 H. Flits Zwanenveld Nijmegen Jeugd1 10 L. Willemsen Kasteel 4 Wychen Jeugd1 12 M.E.P. Graag Broerdijk 234 Nijmegen Heren 12/8/89 19/8/89 36

Alternatieven voor reporting en windowingfuncties

Hoofdstuk: 1 Principes van databases

Hoofdstuk 2 Basiskennis Muistechnieken Windows Explorer

De acties die je als gebruiker stapsgewijs moet volgen, worden als volgt genoteerd.

Handleiding Afdrukken samenvoegen

Databases en SQL Foundation (DBSQLF.NL)

Een functie is een kant en klare formule. Via de knop Som in de groep Bewerken van het tabblad Start kun je een aantal veelgebruikte functies kiezen:

Zelftest SQL Workshop

Hoofdstuk 17: Logische & Informatiefuncties en operatoren

Informatie verwerking en databases RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE SQL INSERT SQL UPDATE SQL DELETE...

1 Oefensessie 23/02/2009

SQL opgaven. Relationele model: Opgaven:

Gegevens uit meerdere tabellen weergeven

Digitaal Staatsexamen VWO 2010

Hoofdstuk 13: Sorteren & Filteren* 2010

Datamodelleren en databases 2011

Informatica. Staatsexamen HAVO Nederl. Tijdvak 1 Maandag 26 mei uur. College-examen schriftelijk. Opgavenboekje

Hoofdstuk 21: Gegevens samenvatten

7. Het selecteren van gegevens

EXIN Databases en SQL Foundation

SQL.

Geimporteerde gegevens aan een tabel toevoegen

ADVANCED DATABASES Syllabus versie 2.0

Excel reader. Beginner Gemiddeld.

3. Informatie overzichtelijk maken

Formulieren en rapporten

Maak een analyse van deze gegevens door middel van ER-modellering.

Puzzelen met SQL 38. De Muzieklijst, deel 2 PUZZELEN MET SQL

SQL & Datamodelleren

Spoedcursus SQL met MS-Access

Informatica. Staatsexamen HAVO Tijdvak 1 Woensdag 24 mei uur. College-examen schriftelijk. Opgavenboekje

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE

Correctievoorschrift VWO NederlandsNederl. Informatica. Tijdvak 1 Woensdag 17 mei uur. College-examen schriftelijk.

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten

1. Exporteren Verschil Xls en Csv Het maken van een Csv bestand Sorteren in Excel Sorteren in Excel

Correctievoorschrift HAVO Informatica. Tijdvak 1 Woensdag 24 mei uur. College-examen schriftelijk.

Handleiding Access 2010

FileMaker 15. Naslaggegevens voor SQL

2.2 Een tabel ontwerpen

PROGRAMMA Vak: informatica..

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

Microsoft. Roger Frans

Transcriptie:

Les S-02: Meer geavanceerde SQL-instructies 2.0 Overzicht les 1: De basisvorm van een SQL query ziet er als volgt uit: (DISTINCT) selecteer de velden uit de tabel waar de volgende voorwaarde geldt ; Bij de voorwaarde is het gegevenstype van belang: bij tekst #... # bij datum/tijd niets bij getallen Er zijn verschillende operatoren die je bij de selectie van gegevens kunt gebruiken: = is gelijk aan < is kleiner dan > is groter dan <= is kleiner of gelijk aan >= is groter of gelijk aan <> is ongelijk aan Logische operatoren gebruik je als je meerdere voorwaarden wilt stellen: AND OR NOT als aan een voorwaarde EN een andere voorwaarde voldaan moet worden als aan een voorwaarde OF een andere voorwaarde voldaan moet worden als aan een voorwaarde NIET voldaan moet worden Ook kan je in SQL een aantal rekenkundige functies gebruiken: COUNT(veldnaam) telt het aantal rijen (records) waarin een bepaald veld verschillende waarden aanneemt COUNT(*) telt het aantal rijen (records) SUM(veldnaam) telt de waarden van een bepaald veld bij elkaar op AVG(veldnaam) geeft de gemiddelde waarde van een bepaald veld MAX(veldnaam) geeft de maximale waarde van een bepaald veld MIN(veldnaam) geeft de minimale waarde van een bepaald veld Met de GROUP BY instructie kan je gegevens per groep records selecteren Met de HAVING instructie kan je voorwaarden aan een groep stellen. les S-02: Meer geavanceerde SQL-instructies 1

2.1 Meerdere tabellen raadplegen Ook in deze lesbrief gebruiken we het voorbeeld van de volleybalvereniging. Stel je voor dat je een tabel wilt maken van alle namen van de en de klasse waarin zij uitkomen. In dat geval moet je de gegevens van de tabellen met en teams combineren. Je zou de volgende query uit kunnen proberen: Voorbeeld 11 Probeer de volgende query uit:, klasse, teams; Het resultaat is een tabel waarin ieder lid met iedere klasse wordt gecombineerd. Dat komt doordat we in de query niet hebben aangegeven op welke manier de tabellen met en teams moeten worden samengevoegd. Dat doen we door in de instructie aan te geven dat een lid alleen met een klasse moet worden gecombineerd als deze klasse bij zijn/haar team hoort: Voorbeeld 12, klasse, teams.teamnummer = teams.teamnummer; selecteer je de namen van de spellers en de klasse waarin zij uitkomen. Omdat bij dit type query twee tabellen met elkaar worden verbonden noemen we deze een inner join. Je kunt deze gegevens ook sorteren met de instructie ORDER BY: Voorbeeld 13, klasse, teams.teamnummer = teams.teamnummer ORDER BY.teamnummer; selecteer je de namen van de spelers en de klasse waarin zij uitkomen gesorteerd per team. Voorbeeld 14 Met de toevoeging DESC (descending = aflopend) of ASC (ascending = oplopend) kan je oplopend of aflopend sorteren:, klasse, teams.teamnummer = teams.teamnummer ORDER BY.teamnummer ASC; les S-02: Meer geavanceerde SQL-instructies 2

2.2 Werken met subqueries Er zijn situaties waarin je eerst een query nodig hebt om gegevens te selecteren die je vervolgens weer nodig hebt om verder op te selecteren. Je krijgt dan een query binnen een query. Een query binnen een query noemen we een subquery. Stel je wilt de namen van de spelers selecteren die meer dan 120 euro contributie betalen. We zitten dan met het probleem dat de informatie uit twee tabellen gehaald moet worden. In de tabel contributie staat bij welke lidmaatschapscategorieën je meer dan 120 euro betaalt en in de tabel staat welke in die categorieën zitten. Voorbeeld 15 De query : lidmaatschapscategorie contributie contributie.totalecontributie > 120; selecteert uit de tabel contributie de lidmaatschapscategorieën met een contributie groter dan 120 euro. Als je deze query los uitvoert levert dat de categorieën A, B, C en S op. Voorbeeld 16 lidmaatschapscategorie IN ( lidmaatschapscategorie contributie contributie.totalecontributie > 120 ); selecteer je uit de tabel de namen van de spelers die in de categorieën A, B, C en S spelen en dus meer dan 120 euro contributie betalen. We noemen de query die de namen selecteert de hoofdquery en de query die de lidmaatschapscategorieën selecteert de subquery. OPDRACHT Opdracht 2.1 Vertaal de bovenstaande query in een query met een inner join. Opdracht 2.2 Selecteer met behulp van een subquery de namen van de die geen coach hebben les S-02: Meer geavanceerde SQL-instructies 3

2.3 Oefentoets Opgave 1 Schrijf een query die alle dames uit het derde damesteam selecteert die voor 1980 geboren zijn. Opgave 2 Schrijf een query die de totaal te betalen contributie berekent. Opgave 3 Schrijf een query die per team berekent hoeveel er in het team zitten. Opgave 4 Schrijf een query die de namen selecteert van de die training krijgen van E. Berends. Opgave 5 Schrijf een query die alle namen van de teamgenoten van David Liesman selecteert. les S-02: Meer geavanceerde SQL-instructies 4

ANTWOORDEN Opdracht 2.1, contributie.lidmaatschapscategorie=contributie.lidmaatschapscategorie AND contributie.totalecontributie > 120; Opdracht 2.2 teamnummer IN ( teamnummer teams teams.coach="geen"); ANTWOORDEN OEFENTOETS Opdracht 1 teamnummer="d3" AND geboortedatum < #01/01/1980#; Opdracht 2 SUM(totalecontributie), contributie.lidmaatschapscategorie = contributie.lidmaatschapscategorie; Opdracht 3 teamnummer, count(*) GROUP BY teamnummer; Opdracht 4 Opdracht 5 teamnummer IN ( teamnummer teams trainer = E. Berends ); teamnummer IN ( teamnummer voornaam = David AND achternaam = Liesman ); les S-02: Meer geavanceerde SQL-instructies 5