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.

Slides:



Advertisements
Verwante presentaties
Computervaardigheden
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
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 - Gevorderden 5.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische.
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Overzicht databanken - Oefeningen
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
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.
Agenda Boek: inhoud en didactiek De SQL-Boekverkenner Practicum.
Statistische functies (aggregaatfuncties)
 Locatie Griendtsveenweg.  Het geven van antwoorden op allerhande vragen over vervolgopleidingen  Het voeren van gesprekken met ouders en leerlingen.
Presentatie bij hoofdstuk 12 van Informatica Edu’Actief
Laat software voor je werken
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)
Lessen Wim Beks PP 2003 Les 24 Vlechtwerk Wim Beks.
Datamodellering en –verwerking 8C020 college 9. Terugblik college week 8 Toepassingen van Petri-netten in bioinformatica Biologische schakelaars en oscillatoren.
24/04/2015IT-Assurance1 IT-Assurance deeltijd 4. Inleiding SQL Introductie in de basisfuncties Bijbehorend lesmateriaal: -AIV-boek van Derksen en Crins.
Relationele databases en SQL
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
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.
BIMAIV03 Les A1 BIMAIV03 Les A1 Databases. De gegevens in een database vormen de grondstof voor informatie De informatie wordt opgevraagd in de taal met.
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.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
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.
BIMAIV03 Les A2 BIMAIV03 Les A2 Databases. Kolomexpressies SELECT prijs FROM boeken; SELECT prijs FROM boeken; prijs € 22,50 € 29,50 € 32,90 € 39,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 ▸
Week 3 BIRAIV03 Les B5 BIRAIV03 Les B5. naampnt Jan10 Truus22 Ineke6 Tabel 1 codeomschrprijs a100stoel€ 160,00 a124tafel€ 255,00 Tabel 2 Voorbeeld.
BIMAIV03 Les A6 BIMAIV03 Les A6. Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS.
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
‘Dit vind ik ervan!’ 2.0 Cliënten vertellen wat zij belangrijk vinden
SQL Cursus deel
Het presentatieprogramma van Microsoft
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
SQL Les 3 17 February 2019.
SQL Les 3 23 February 2019.
SQL Les 7 24 February 2019.
herhalen les 3 voorbeeld toets som camping
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
– Software development fundamentals
SQL Les May 2019.
Databases SQL.
Transcript van de presentatie:

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 DamSolis R. de GrootTerra P.G. ElbersGratea J. van WellSolis P. EigendonkLunare B. WagenaarSolis C. EradesTerra W. KonijnenburgTerra R.R. PaaltjensGratea H. van LaarLunare Intekening Voorbeeld Woningtype typeomschrijvinggepland_aantalprijs Lunarehalfvrijstaande villa Terravrijstaande villa Respectasingelwoning Gratealaanwoning Solisappartement

Vraag Hoeveel keer is per woningtype is ingetekend? naamtype A. JanssenLunare P. GerritsenGratea J. MolenaarTerra J.M. de WitTerra H.A.M. GeelsbergenLunare T. van DamSolis R. de GrootTerra P.G. ElbersGratea J. van WellSolis P. EigendonkLunare B. WagenaarSolis C. EradesTerra W. KonijnenburgTerra R.R. PaaltjensGratea H. van LaarLunare SELECT type, COUNT(*) FROM intekening GROUP BY type; typeExpr1001 Gratea3 Lunare4 Solis3 Terra5

Extra voorwaarde voor gegroepeerde tabel Op welke woningtypen is meer dan 3 keer ingetekend? SELECT type, COUNT(*) FROM intekening GROUP BY type HAVING COUNT(*) > 3; typeExpr1001 Lunare4 Terra5

Valkuil Op welke woningtypen is minder dan 4 keer ingetekend? SELECT type, COUNT(*) FROM intekening GROUP BY type HAVING COUNT(*) < 4; typeExpr1001 Gratea3 Solis3 Op "Respecta" is geen enkele keer ingetekend!

"Respecta" komt niet voor in intekening! SELECT type, COUNT(*) FROM intekening GROUP BY type; typeExpr1001 Gratea3 Lunare4 Solis3 Terra5 SELECT type FROM woningtype; type Lunare Terra Respecta Gratea Solis

Mogelijke oplossing SELECT type, COUNT(*) FROM intekening GROUP BY type UNION SELECT type, 0 FROM woningtype WHERE type NOT IN (SELECT type FROM intekening); typeExpr1001 Gratea3 Lunare4 Solis3 Terra5 typeExpr1001 Respecta0 typeExpr1001 Gratea3 Lunare4 Respecta0 Solis3 Terra5 + =

De oplossing typeExpr1001 Respecta0 Op welke woningtypen is minder dan 4 keer ingetekend? SELECT type, COUNT(*) FROM intekening GROUP BY type HAVING COUNT(*) < 4 UNION SELECT type, 0 FROM woningtype WHERE type NOT IN (SELECT type FROM intekening); typeExpr1001 Gratea3 Solis3 + = typeExpr1001 Gratea3 Respecta0 Solis3

Microsoft: opvatting over de join Woningtype naamtype A. JanssenLunare P. GerritsenGratea J. MolenaarTerra J.M. de WitTerra H.A.M. GeelsbergenLunare T. van DamSolis R. de GrootTerra P.G. ElbersGratea J. van WellSolis P. EigendonkLunare B. WagenaarSolis C. EradesTerra W. KonijnenburgTerra R.R. PaaltjensGratea H. van LaarLunare typeomschrijvinggepland_aantalprijs Lunarehalfvrijstaande villa Terravrijstaande villa Respectasingelwoning Gratealaanwoning Solisappartement Intekening

Microsoft: de inner join SELECT * FROM intekening INNER JOIN woningtype ON intekening.type = woningtype.type; naamintekening.typewoningtype.typeoms...gepl...prijs A. JanssenLunare hal H.A.M. GeelsbergenLunare hal P. EigendonkLunare hal H. van LaarLunare hal J. MolenaarTerra vrij J.M. de WitTerra vrij R. de GrootTerra vrij C. EradesTerra vrij SELECT * FROM intekening INNER JOIN woningtype ON intekening.type = woningtype.type;

Microsoft: is precies hetzelfde als... SELECT * FROM intekening INNER JOIN woningtype ON intekening.type = woningtype.type; naamintekening.typewoningtype.typeoms...gepl...prijs A. JanssenLunare hal H.A.M. GeelsbergenLunare hal P. EigendonkLunare hal H. van LaarLunare hal J. MolenaarTerra vrij J.M. de WitTerra vrij R. de GrootTerra vrij C. EradesTerra vrij SELECT * FROM intekening, woningtype WHERE intekening.type = woningtype.type;

Microsoft: de join verder uitgediept (1) aa p q r s u w tabel1 zz p r s t v w x tabel2 aazz pp rr ss ww SELECT * FROM tabel1 INNER JOIN tabel2 ON tabel1.aa = tabel2.zz;

Microsoft: de join verder uitgediept (2) tabel1 zz p r s t v w x tabel2 SELECT * FROM tabel1 LEFT OUTER JOIN tabel2 ON tabel1.aa = tabel2.zz; aazz pp q rr ss u ww aa p q r s u w

Microsoft: de join verder uitgediept (3) tabel1 zz p r s t v w x tabel2 SELECT * FROM tabel1 RIGHT OUTER JOIN tabel2 ON tabel1.aa = tabel2.zz; aazz pp rr ss t v ww x aa p q r s u w

Microsoft: de join verder uitgediept (4) tabel3tabel4 SELECT * FROM tabel3 INNER JOIN tabel4 ON tabel3.kol1 = tabel4.kol1; kol1kol2 aaap anoot bmies cwim eaap kol1kol2 aede buden bbest cvuren cuden dtiel tabel3.kol1tabel3.kol2tabel4.kol1tabel4.kol2 aaapaede anootaede bmiesbbest bmiesbuden cwimcuden cwimcvuren

Microsoft: de join verder uitgediept (5) tabel3tabel4 SELECT * FROM tabel3 LEFT OUTER JOIN tabel4 ON tabel3.kol1 = tabel4.kol1; kol1kol2 aaap anoot bmies cwim eaap kol1kol2 aede buden bbest cvuren cuden dtiel tabel3.kol1tabel3.kol2tabel4.kol1tabel4.kol2 aaapaede anootaede bmiesbbest bmiesbuden cwimcuden cwimcvuren eaap

Microsoft: de join verder uitgediept (6) tabel3tabel4 SELECT * FROM tabel3 RIGHT OUTER JOIN tabel4 ON tabel3.kol1 = tabel4.kol1; kol1kol2 aaap anoot bmies cwim eaap kol1kol2 aede buden bbest cvuren cuden dtiel tabel3.kol1tabel3.kol2tabel4.kol1tabel4.kol2 anootaede aaapaede bmiesbuden bmiesbbest cwimcvuren cwimcuden dtiel

Microsoft: de join verder uitgediept (7) tabel3tabel4 kol1kol2 aaap anoot bmies cwim eaap kol1kol2 aede buden bbest cvuren cuden dtiel In dit voorbeeld is geen sprake van REFERENTIËLE INTEGRITEIT

Terug naar FASCINATIO (1) Woningtype naamtype A. JanssenLunare P. GerritsenGratea J. MolenaarTerra J.M. de WitTerra H.A.M. GeelsbergenLunare T. van DamSolis R. de GrootTerra P.G. ElbersGratea J. van WellSolis P. EigendonkLunare B. WagenaarSolis C. EradesTerra W. KonijnenburgTerra R.R. PaaltjensGratea H. van LaarLunare typeomschrijvinggepland_aantalprijs Lunarehalfvrijstaande villa Terravrijstaande villa Respectasingelwoning Gratealaanwoning Solisappartement Intekening

Terug naar FASCINATIO (2) SELECT woningtype.type, intekening.type, naam FROM woningtype LEFT OUTER JOIN intekening ON woningtype.type = intekening.type;

Terug naar FASCINATIO (3) woningtype.typeintekening.typenaam Lunare A. Janssen Lunare H.A.M. Geelsbergen Lunare P. Eigendonk Lunare H. van Laar Terra J. Molenaar Terra J.M. de Wit Terra R. de Groot Terra C. Erades Terra W. Konijnenburg Respecta Gratea P. Gerritsen Gratea P.G. Elbers Gratea R.R. Paaltjens Solis T. van Dam ---

Terug naar FASCINATIO (4) SELECT woningtype.type, COUNT(*) FROM woningtype LEFT OUTER JOIN intekening ON woningtype.type = intekening.type GROUP BY woningtype.type; typeExpr1001 Gratea3 Lunare4 Respecta1 Solis3 Terra5

Terug naar FASCINATIO (5) SELECT woningtype.type, COUNT(naam) FROM woningtype LEFT OUTER JOIN intekening ON woningtype.type = intekening.type GROUP BY woningtype.type; typeExpr1001 Gratea3 Lunare4 Respecta0 Solis3 Terra5

Terug naar FASCINATIO (6) SELECT woningtype.type, COUNT(naam) FROM woningtype LEFT OUTER JOIN intekening ON woningtype.type = intekening.type GROUP BY woningtype.type HAVING COUNT(naam) < 4; typeExpr1001 Gratea3 Respecta0 Solis3

Ook: SELECT a.type, COUNT(naam) FROM woningtype a LEFT OUTER JOIN intekening b ON a.type = b.type GROUP BY a.type HAVING COUNT(naam) < 4; typeExpr1001 Gratea3 Respecta0 Solis3

Uiteindelijk: SELECT a.type FROM woningtype a LEFT OUTER JOIN intekening b ON a.type = b.type GROUP BY a.type HAVING COUNT(naam) < 4; type Gratea Respecta Solis

Aandachtspunten: Betreft het een left outer join of right outer join ? Op welke kolom groeperen ? Welke kolom aggregeren (tellen, optellen) ?

Opdracht: De decaan wil een gesprek met alle BI'studenten die tot nu toe minder dan 2 studiepunten behaald hebben. Welke studenten komen voor zo'n gesprek in aanmerking (nummers en namen)? StudentnrNaamVoorlettersGebdatGeslachtOpl HendriksO23 jan 1985mI HaringaFW25 okt 1986vBI WillemsenT16 mrt 1985mBI --- ModCodeNaamSpt ARCHArchitectuur1 INFA01Informatiekunde1 INFA02Informatiekunde1 --- StudentnrModCodeDatumCijfer INFA0117 nov INFA0117 nov INFA0102 jul student resultaat moduul