Week 3 BIRAIV03 Les B5 BIRAIV03 Les B5. naampnt Jan10 Truus22 Ineke6 Tabel 1 codeomschrprijs a100stoel€ 160,00 a124tafel€ 255,00 Tabel 2 Voorbeeld.

Slides:



Advertisements
Verwante presentaties
Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Advertisements

Meerdere tabellen: Relaties en Joins
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Hoofdstuk 8: Werken met SQL voor eindgebruikers
Relationele databases en
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Module 7 – Hoofdstuk 5 (4) SQL – voorwaarden aan groepen en meerdere tabellen.
MySQL-acties Klassikaal: Wijnen.sql. 1.Toon alle wijnen die er zijn. Toon de naam, kleur en prijs. SELECT `naam`,`kleur`,`prijs` FROM `wijnen`
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het selecteren van data uit meerdere gekoppelde tabellen
SQL Les 01 & 02. SELECT Weergeven van alle gegevens uit een tabel: SELECT * FROM tlbPersonen; Weergeven van alle personen die uit Aruba komen: SELECT.
Sets in een RDBS Een database
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Relationele Databases
Relationele Databases Hoofdstuk 10
Databases.
<Mdl01 hoorcollege 1>
LauwersCollege Buitenpost Informatica
Inleiding Databanken: oefeningen
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vorige week: Referentiele integriteit
SQL (structured Query Language) DDL (Data Definition Language) DML (Data Manipulation Language) Ontwerp databaseBevraag database.
Kietel nooit een slapende draak
Workshop PHP Een productencatalogus Met database.
Statistische functies (aggregaatfuncties)
Presentatie bij hoofdstuk 12 van Informatica Edu’Actief
Statistieken website P. Grobben.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
LauwersCollege Buitenpost Informatica
7 Databases. SAMENGESTELDE VOORWAARDEN 1 Wat is het adres van Odile Goossens? SELECT adres, woonplaats FROM leden WHERE naam = ‘Goossens’ AND voornaam.
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
7 Databases. STRUCTURED QUERY LANGUAGE Bij het relationele model hoort een programmeertaal waarmee de database benaderd kan worden. In de praktijk wordt.
24/04/2015IT-Assurance1 IT-Assurance deeltijd 4. Inleiding SQL Introductie in de basisfuncties Bijbehorend lesmateriaal: -AIV-boek van Derksen en Crins.
Rekenen met verdeelsleutels
D-toets 9.1 t/m Maken: D-toets opdracht: 1 t/m 14 niet: 11, 12 en 13 blz: 152.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3. Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal.
Week 3 BIRAIV03 Les B6 BIRAIV03 Les B6. naamtype A. JanssenLunare P. GerritsenGratea J. MolenaarTerra J.M. de WitTerra H.A.M. GeelsbergenLunare T. van.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
Week 6 BIMAIV03 les B1. DML en DDL ata D anipulation M anguage L ata D efinition D anguage L.
Week 2 BIMAIV03 Les A4. Volgorde Soms willen we in het resultaat een bepaalde ordening aanbrengen. Dat doen we met PEILING ORDER BY DatumPartijAantal.
Week 2 BIMAIV03 Les A3. DISTINCT (1) Van welke uitgevers staan er boeken in deze tabel? BOEKNRTITELUITGEVERPRIJS Word in twaalf dagenMEU€ 22,50.
Week 1 BIMAIV03 Les B2 BIMAIV03 Les B2. Uit het voorgaande... CREATE TABLE... Opdracht om een nieuwe tabel binnen de database te creëren. Aandachtspunten.
ANALYSE 3 INFANL01-3 WEEK 6 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Subqueries met correlaties ▸ Subqueries zonder correlaties ▸ Views ▸
BIMAIV03 Les A6 BIMAIV03 Les A6. Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS.
Start voetbalquiz 2. Vraag 1 Welke oud speler heet ook wel ‘‘het kanon’’?
– Software development fundamentals
Stedentrip Alicante.
“Andorra Ordino Andorra Ordino.”.
[Productnaam] Marketingplan
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
SQL Les February 2019.
SQL Les 3 17 February 2019.
Tijdelijke fietsbrug Itteren
Hoe te gebruiken 1 Verwijder de lijnen en tekst die u niet nodig hebt
SQL Les 3 23 February 2019.
SQL Les 7 24 February 2019.
SQL Les 6 14 April 2019.
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
op de PLAATSELIJKE UITSLAG TE WINNEN OP DE KAMPIOENSCHAPSVLUCHTEN
– Software development fundamentals
SQL Les May 2019.
Databases SQL.
Informatie examen Leerjaar 3 BL en KL Z&W en HBR
Transcript van de presentatie:

Week 3 BIRAIV03 Les B5 BIRAIV03 Les B5

naampnt Jan10 Truus22 Ineke6 Tabel 1 codeomschrprijs a100stoel€ 160,00 a124tafel€ 255,00 Tabel 2 Voorbeeld

De join van twee tabellen naampntcodeomschrprijs Jan10a100stoel€ 160,00 Jan10a124tafel€ 255,00 Truus22a100stoel€ 160,00 Truus22a124tafel€ 255,00 Ineke6a100stoel€ 160,00 Ineke6a124tafel€ 255,00 SELECT * FROM tabel1, tabel2; Iedere rij uit de ene tabel wordt gecombineerd met iedere rij uit de andere tabel

Kolomnamen SELECT * FROM tabel1, tabel2; tabel1. naam tabel1. pnt tabel2. code tabel2. omschr tabel2. prijs Jan10a100stoel€ 160,00 Jan10a124tafel€ 255,00 Truus22a100stoel€ 160,00 Truus22a124tafel€ 255,00 Ineke6a100stoel€ 160,00 Ineke6a124tafel€ 255,00

Nog liever: alias gebruiken SELECT * FROM tabel1 AS a, tabel2 AS b; a.naama.pntb.codeb.omschrb.prijs Jan10a100stoel€ 160,00 Jan10a124tafel€ 255,00 Truus22a100stoel€ 160,00 Truus22a124tafel€ 255,00 Ineke6a100stoel€ 160,00 Ineke6a124tafel€ 255,00 SELECT * FROM tabel1 a, tabel2 b; of

Meer praktisch voorbeeld 1 naamprov MiaUt CobiL PimL Vrbld1 Provincie afknaam UtUtrecht GrGroningen DrDrenthe LLimburg FrFriesland

Meer praktisch voorbeeld 2 SELECT * FROM vrbld1 a, provincie b; a.naama.provb.afkb.naam MiaUt Utrecht CobiLUtUtrecht PimLUtUtrecht MiaUtGrGroningen CobiLGrGroningen PimLGrGroningen MiaUtDrDrenthe CobiLDrDrenthe PimLDrDrenthe MiaUtLLimburg CobiLLLimburg PimLLLimburg MiaUtFrFriesland CobiLFrFriesland PimLFrFriesland

Meer praktisch voorbeeld 3: zinvolle rijen SELECT * FROM vrbld1 a, provincie b; a.naama.provb.afkb.naam MiaUt Utrecht CobiLUtUtrecht PimLUtUtrecht MiaUtGrGroningen CobiLGrGroningen PimLGrGroningen MiaUtDrDrenthe CobiLDrDrenthe PimLDrDrenthe MiaUtLLimburg CobiLLLimburg PimLLLimburg MiaUtFrFriesland CobiLFrFriesland PimLFrFriesland

Meer praktisch voorbeeld 4: joinconditie SELECT a.naam, b.naam FROM vrbld1 a, provincie b WHERE a.prov = b.afk; a.naamb.naam MiaUtrecht CobiLimburg PimLimburg

De tabel FAVOURITES NaamClubGeboortedatumPositie Arjan WisseAZ06 okt 1985aanval Arnold KruiswijkFC Groningen02 nov 1984verdediging Stijn SchaarsVitesse11 jan 1984middenveld Johnny HeytingaAjax15 nov 1983verdediging Rafael van der VaartAjax11 feb 1983middenveld Theo ZwarthoedAZ19 nov 1982doel Danny BuijsFC Groningen21 jun 1982verdediging Roel BrouwersRoda JC28 nov 1981verdediging Dirk KuytFeyenoord22 jul 1980aanval Edwin de GraaffFeyenoord30 apr 1980middenveld Pascal BosschaertFeyenoord28 feb 1980middenveld Sander KellerFC Utrecht18 sep 1979verdediging Jan Vennegoor of HesselinkPSV07 nov 1978aanval ---

Vraag: de clubgenoten van Arjan Wisse NaamClubGeboortedatumPositie Arjan WisseAZ06 okt 1985aanval Arnold KruiswijkFC Groningen02 nov 1984verdediging Stijn SchaarsVitesse11 jan 1984middenveld Johnny HeytingaAjax15 nov 1983verdediging Rafael van der VaartAjax11 feb 1983middenveld Theo ZwarthoedAZ19 nov 1982doel Danny BuijsFC Groningen21 jun 1982verdediging Roel BrouwersRoda JC28 nov 1981verdediging Dirk KuytFeyenoord22 jul 1980aanval Edwin de GraaffFeyenoord30 apr 1980middenveld Pascal BosschaertFeyenoord28 feb 1980middenveld Sander KellerFC Utrecht18 sep 1979verdediging Jan Vennegoor of HesselinkPSV07 nov 1978aanval ---

Minst intelligente oplossing SELECT club FROM favourites WHERE naam = 'Arjan Wisse'; club AZ Het resultaat: SELECT naam FROM favourites WHERE club = 'AZ'; naam Arjan Wisse Theo Zwarthoed Barry Opdam Het resultaat:

Met een subquery SELECT naam FROM favourites WHERE club = (SELECT club FROM favourites WHERE naam = 'Arjan Wisse'); naam Arjan Wisse Theo Zwarthoed Barry Opdam Het resultaat:

Met een selfjoin 1 SELECT x.naam, x.club, y.naam, y.club FROM favourites x, favourites y;

Met een selfjoin 1: resultaat x.naamx.cluby.naamy.club Arjan WisseAZArjan WisseAZ Arnold KruiswijkFC GroningenArjan WisseAZ --- Arjan WisseAZArnold KruiswijkFC Groningen Arnold KruiswijkFC GroningenArnold KruiswijkFC Groningen --- Arjan WisseAZStijn SchaarsVitesse Arnold KruiswijkFC GroningenStijn SchaarsVitesse --- Arjan WisseAZBarry OpdamAZ Arnold KruiswijkFC GroningenBarry OpdamAZ ---

Met een selfjoin 2 SELECT x.naam, x.club, y.naam, y.club FROM favourites x, favourites y WHERE x.naam = 'Arjan Wisse';

Met een selfjoin 2: het resultaat x.naamx.cluby.naamy.club Arjan WisseAZArjan WisseAZ Arjan WisseAZArnold KruiswijkFC Groningen Arjan WisseAZStijn SchaarsVitesse Arjan WisseAZJohnny HeytingaAjax Arjan WisseAZRafael van der VaartAjax Arjan WisseAZTheo ZwarthoedAZ Arjan WisseAZDanny BuijsFC Groningen Arjan WisseAZRoel BrouwersRoda JC Arjan WisseAZDirk KuytFeyenoord Arjan WisseAZEdwin de GraaffFeyenoord ---

Met een selfjoin 3: bijna oplossing SELECT x.naam, x.club, y.naam, y.club FROM favourites x, favourites y WHERE x.naam = 'Arjan Wisse' AND x.club = y.club; x.naamx.cluby.naamy.club Arjan WisseAZTheo ZwarthoedAZ Arjan WisseAZBarry OpdamAZ Arjan WisseAZArjan WisseAZ

Met een selfjoin 4: uiteindelijke oplossing SELECT y.naam FROM favourites x, favourites y WHERE x.naam = 'Arjan Wisse' AND x.club = y.club; naam Theo Zwarthoed Barry Opdam Arjan Wisse

Opdracht Schrijf een self join waarmee u alle favorieten opsomt die dezelfde positie innemen als Bas Roorda. Schrijf een self join waarmee u alle namen van spelers noemt die in hetzelfde jaar als Bas Roorda geboren zijn. Aanwijzing: u bepaalt het jaartal met behulp van de functie YEAR(geboortedatum).

Nog een voorbeeld We zijn op zoek naar de favoriete spelers die jonger zijn dan Dirk Kuyt. De geboortedatum van die spelers is daarom groter dan die van Dirk. SELECT b.naam, b.geboortedatum FROM favourites a, favourites b WHERE a.naam = 'Dirk Kuyt' AND b.geboortedatum > a.geboortedatum;

Het resultaat SELECT b.naam, b.geboortedatum FROM favourites a, favourites b WHERE a.naam = 'Dirk Kuyt' AND b.geboortedatum > a.geboortedatum; naamgeboortedatum Arjan Wisse06 okt 1985 Arnold Kruiswijk02 nov 1984 Stijn Schaars11 jan 1984 Johnny Heytinga15 nov 1983 Rafael van der Vaart11 feb 1983 Theo Zwarthoed19 nov 1982 Danny Buijs21 jun 1982 Roel Brouwers28 nov 1981

Mogelijkheden met self join NaamLandTijd BarisjevaRus40,36 De LoorNed40,11 FriesingerDui40,27 HunyadyOos40,32 PechsteinDui39,88 SimionatoIta40,1 EK500vr

EK500vr  EK500vr a.Naama.Landa.Tijdb.Naamb.Landb.Tijd BarisjevaRus40,36BarisjevaRus40,36 De LoorNed40,11BarisjevaRus40,36 FriesingerDui40,27BarisjevaRus40,36 HunyadyOos40,32BarisjevaRus40,36 PechsteinDui39,88BarisjevaRus40,36 SimionatoIta40,1BarisjevaRus40,36 BarisjevaRus40,36De LoorNed40,11 De LoorNed40,11De LoorNed40,11 FriesingerDui40,27De LoorNed40,11 HunyadyOos40,32De LoorNed40,11 PechsteinDui39,88De LoorNed40,11 SimionatoIta40,1De LoorNed40,11 BarisjevaRus40,36FriesingerDui40,27 De LoorNed40,11FriesingerDui40,27 ---

Join conditie a.tijd >= b.tijd a.Naama.Landa.Tijdb.Naamb.Landb.Tijd BarisjevaRus40,36BarisjevaRus40,36 De LoorNed40,11BarisjevaRus40,36 FriesingerDui40,27BarisjevaRus40,36 HunyadyOos40,32BarisjevaRus40,36 PechsteinDui39,88BarisjevaRus40,36 SimionatoIta40,1BarisjevaRus40,36 BarisjevaRus40,36De LoorNed40,11 De LoorNed40,11De LoorNed40,11 FriesingerDui40,27De LoorNed40,11 HunyadyOos40,32De LoorNed40,11 PechsteinDui39,88De LoorNed40,11 SimionatoIta40,1De LoorNed40,11 BarisjevaRus40,36FriesingerDui40,27 De LoorNed40,11FriesingerDui40,27 ---

Resultaat a.Naama.Landa.Tijdb.Naamb.Landb.Tijd BarisjevaRus40,36BarisjevaRus40,36 BarisjevaRus40,36De LoorNed40,11 De LoorNed40,11De LoorNed40,11 FriesingerDui40,27De LoorNed40,11 HunyadyOos40,32De LoorNed40,11 BarisjevaRus40,36FriesingerDui40,27 FriesingerDui40,27FriesingerDui40,27 HunyadyOos40,32FriesingerDui40,27 BarisjevaRus40,36HunyadyOos40,32 HunyadyOos40,32HunyadyOos40,32 BarisjevaRus40,36PechsteinDui39,88 De LoorNed40,11PechsteinDui39,88 FriesingerDui40,27PechsteinDui39,88 HunyadyOos40,32PechsteinDui39,88 ---

Groeperen en tellen SELECT a.naam, COUNT(*) FROM ek500vr a, ek500vr b WHERE a.tijd >= b.tijd GROUP BY a.naam; naamExpr1001 Barisjeva6 De Loor3 Friesinger4 Hunyady5 Pechstein1 Simionato2

Verfraaiing SELECT a.naam, COUNT(*) AS uitslag FROM ek500vr a, ek500vr b WHERE a.tijd >= b.tijd GROUP BY a.naam ORDER BY COUNT(*); naamuitslag Pechstein1 Simionato2 De Loor3 Friesinger4 Hunyady5 Barisjeva6 maar toch...

De heren verreden ook een 500 meter NaamLandTijd AndersenNoo37,02 BaloHon37,3 BeulenkampNed37,32 KibalkoRus37 KuentzFra37,46 PostmaNed36,95 Risto RosendahlFin36,96 SjepelRus37,42 TuitertNed36,96 UytdehaageNed37,3 ek500m

Hetzelfde foefje SELECT a.naam, COUNT(*) AS uitslag FROM ek500m a, ek500m b WHERE a.tijd >= b.tijd GROUP BY a.naam ORDER BY COUNT(*); naamuitslag Postma1 Tuitert3 Risto Rosendahl3 Kibalko4 --- naamuitslag Postma1 Tuitert2 Risto Rosendahl2 Kibalko4 --- Zoek zelf de oplossing...

Opdracht Bepaal met behulp van een self join van elk land de snelste deelnemer.