Gekoppelde tabellen: de JOIN

Vergelijkbare documenten
Structured Query Language (SQL)

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

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

Miniles gegevensbanken bevragen met SQL

Les S-02: Meer geavanceerde SQL-instructies

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

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

Data Manipulation Language

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

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

SQL: oefenen queries

SQL opgaven. Relationele model: Opgaven:

Structured Query Language

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

ISO Query By Example

Databases SQL - meerdere tabellen

Het omzetten van een ER-diagram naar SQL

Introductie (relationele) databases

Les 11 : Basis SQL (deel2).

[TOETS SQL INLEIDING]

Rapportage voor Unit4 Multivers. Eindhoven, 22 juni 2017

F. TRUYEN - Informatiekunde QBE. MS Access

Data Manipulatie. Query Talen. / Informatica

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

Gebruikers Handleiding

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Proeftentamen ISO (2R290), query-gedeelte, Oktober 2006

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

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: Groep TDI 1

Les 2 Eenvoudige queries

SQL & Relationele datamodellen in interactieve media

ISO SQL: Structured Query Language

Zelftest SQL Workshop

Informatie & Databases

9. Het wijzigen van gegevens

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 database. Het relationele model

Les S-01: De basisbeginselen van SQL

Zelftest SQL Workshop

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

Relationele databases

Databases - Inleiding

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

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

11. Het selecteren van gegevens deel II

Van een ER-diagram naar een database specificatie in SQL

Hoofdstuk: 1 Principes van databases

Zelftest SQL. Document: n0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Project PiggyBank 2014

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

Les S-01: De basisbeginselen van SQL

Microsoft SQL. opdracht. Regio College Zaanstreek Waterland Afdeling ICT Opleidingen

oefeningen eredivisie antwoorden

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

8. De invoer van gegevens

PROGRAMMA Vak: informatica..

Puzzelen met SQL: Fileleed

Arrays en Foreach. Huub de Beer. Eindhoven, 4 juni 2011

Excel Controller. Handleiding Excel Controller Wizard

Koppeling met een database

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

Query SQL Boekje. Fredrik Hamer

Errata en opmerkingen Relationele Databases en SQL 1e druk

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

1. * Database worden vaak gebruikt in Client-Server architectuur.

SQL & Datamodelleren

Gebruikershandleiding

We moeten de accommodaties selecteren die 3 sterren hebben, en in land met ID 10 zitten.

file:///h:/personalsettings/digidoc/91.%20re%20update%20database%20wga%20...

Datakwaliteitsborging met Oracle dynamisch SQL

Relationele databases en SQL

Antwoorden Informatica Hoofdstuk 7

Informatica toets vwo 6 Databases

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

TU Delft TENTAMEN DATABASES. Opgaven IN2105/IN oktober uur. Er zijn 6 opgaven. maximale score 100 punten

EMBEDDED SQL. Inleiding. Queries en update-opdrachten. Embedden en hostvariabelen

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Vragen hoofdstuk 1: Resultaat

TECHNISCHE UNIVERSITEIT DELFT Sectie Database Systemen Zuidplantsoen BZ DELFT. Oefening Inleiding Database Systemen. Opgave: Prakticumbeheer

1. Databanken. Wat is een databank? Verschillende opslagmethodes

Programmaoverzicht introductie voor de brugklas, klas 2 en klas 3 schooljaar 13/14

Les 10 : Aanmaken van een database (deel2).

Werken met opleidingen binnen één afdeling

7. Het selecteren van gegevens

databases & SQL - antwoorden

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

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

de praktijk: tabellen

Van CaseTalk naar een database in SQLite studio

Inhoudsopgave Inleiding 7 Hoofdstuk 1 Introductie databases 9 Hoofdstuk 2 Hoe werkt het? 13 Hoofdstuk 3 Database versus Dataset 61

Automatische Installatie op IIS server

EXAMEN juni 2018 Gegevensbanken

Release Notes. Afdrukdatum: 2010/05/25

Na bestudering van dit hoofdstuk moet je tot het onderstaande in staat zijn:

REGELING EINDE CURSUS en BEGIN CURSUS Mededeling aan leerlingen en hun ouders/verzorgers

Informatie Voor algemene vragen/opmerkingen omtrent de inhoud van deze site kunt u bellen of en met: Cargo Data Systems BV

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

Data Warehouse Script Generator Doel

Technische nota AbiFire Rapporten maken via ODBC

1 Labo 4 H 8 Jobs, Alerts en Operators H 9 Monitoring en Troubleshooting

Transcriptie:

Gekoppelde tabellen: de JOIN Huub de Beer Eindhoven, 4 juni 2011

Koppelingstabellen en SQL: eenvoudig voorbeeld: leerlingen en klassen ll_nr woonplaats mentor Leerling zit in klas Klas klascode geb_jaar naam afdeling klascode

Voorbeeld database: leerlingen en klassen leerling ll_nr naam geb_jaar woonplaats klascode 23523 Marya 1994 Eindhoven 5ha 23456 Jann 1995 Veldhoven 5ha 07935 Ibraham 1995 Eindhoven 6vb 93753 Theresa 1995 Helmond 6vc klas klascode mentor afdeling 5ha Janssens havo h5b Schaaf, van der havo 6va Hoop, den gym 6vb Mertens ath 6vc Jong, de ath

Informatie uit meer dan een tabel: de JOIN In de FROM-clausule kun je meer dan een tabel opnemen. Probleem: er kan onduidelijkheid bestaan over een veld: uit welke tabel komt dit veld nu (als het in meer tabellen voorkomt) Oplossing: schrijf de tabelnaam en een punt voor het veldnaam (vb leerling.naam ipv naam) Tip: introduceer een afkorting voor een tabelnaam met AS Voorbeeld: Geef alle leerlingen en hun mentor SELECT l.naam, k.mentor FROM leerling AS l, klas AS k;

Voorbeeld: alle leerlingen en hun mentoren Voorbeeld: Geef alle leerlingen en hun klas SELECT l.naam, k.klascode FROM leerling AS l, klas AS k; Resultaattabel l.naam k.mentor Marya Janssens Marya Schaaf, van der Marya Hoop, den Marya Mertens Marya Jong, de Jann Janssens Jann Schaaf, van der Jann Hoop, den Jann Mertens Jann Jong, de......

Hoe werkt een JOIN? Het voorbeeld uitgekleed leerling ll_nr klascode 23523 5ha 23456 5ha 07935 6vb 93753 6vc klas klascode 5ha h5b 6va 6vb 6vc JOIN leerling, vak leerling.ll_nr leerling.klascode klas.klascode 23523 5ha 5ha 23523 5ha h5b 23523 5ha 6va 23523 5ha 6vb 23523 5ha 6vc 23456 5ha 5ha 23456 5ha h5b 23456 5ha 6va 23456 5ha 6vb 23456 5ha 6vc 07935 6vb 5ha 07935 6vb h5b 07935 6vb 6va Een JOIN is een tabel waarin alle rijen uit alle tabellen in de JOIN met elkaar worden gecombineerd. Heel veel combinaties hebben geen relatie met elkaar. Oplossing: de conditie dat de koppelingskolommen dezelfde waarde hebben: leerling.vakcode = vak.vakcode.

Hoe werkt een JOIN? Het voorbeeld uitgekleed leerling ll_nr klascode 23523 5ha 23456 5ha 07935 6vb 93753 6vc klas klascode 5ha h5b 6va 6vb 6vc JOIN leerling, vak leerling.ll_nr leerling.klascode klas.klascode 23523 5ha 5ha 23523 5ha h5b 23523 5ha 6va 23523 5ha 6vb 23523 5ha 6vc 23456 5ha 5ha 23456 5ha h5b 23456 5ha 6va 23456 5ha 6vb 23456 5ha 6vc 07935 6vb 5ha 07935 6vb h5b 07935 6vb 6va Een JOIN is een tabel waarin alle rijen uit alle tabellen in de JOIN met elkaar worden gecombineerd. Heel veel combinaties hebben geen relatie met elkaar. Oplossing: de conditie dat de koppelingskolommen dezelfde waarde hebben: leerling.vakcode = vak.vakcode.

De JOIN van leerling en vak (aangekleed) SQL - query SELECT l.naam, l.woonplaats, k.vakcode, k.mentor FROM leerling AS l, klas AS k WHERE l.vakcode = k.vakcode; Resultaat l.naam l.woonplaats v.vakcode v.mentor Marya Eindhoven 5ha Janssens Jann Veldhoven 5ha Janssens Ibraham Eindhoven 6vb Mertens Theresa Helmond 6vc Jong, de

Geef de namen van de leerlingen waarvan de Janssens de mentor is SQL - query SELECT l.naam FROM leerling AS l, klas AS k WHERE l.vakcode = k.vakcode AND k.mentor = "Janssens"; Resultaat l.naam Marya Jann

Geef het aantal leerlingen per mentor SQL - query SELECT k.mentor AS mentor, COUNT(l.ll_nr) AS aantal FROM leerling AS l, klas AS k WHERE l.vakcode = k.vakcode GROUP BY k.mentor; Resultaat mentor aantal Janssens 23 Schaaf, van der 31 Hoop, den 33 Mertens 27 Jong, de 29

Gekoppelde tabellen, enkele opmerkingen Je kunt zoveel tabellen koppelen in de FROM clausule als je wilt Als je maar elke relatie tussen tabellen aangeeft in de WHERE clausule De relatie is altijd tabela.primaire_sleutel = tabelb.vreemde_sleutel Sommige problemen kun je zowel oplossen met subqueries als met joins.