De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

BIMAIV03 Les A6 BIMAIV03 Les A6. Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS.

Verwante presentaties


Presentatie over: "BIMAIV03 Les A6 BIMAIV03 Les A6. Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS."— Transcript van de presentatie:

1 BIMAIV03 Les A6 BIMAIV03 Les A6

2 Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS 2.111.1Word in twaalf dagenMEU€ 22,50 2.111.2WordPerfect 9BB€ 29,50 2.111.4Xtal Reports de luxeMEU€ 32,90 2.111.6Access voor dummiesBB€ 32,90 2.112.0Haal het onderste uit ExcelAS€ 39,50 2.112.1Brieven schrijven in WordAS€ 35,00 --- Expr1000 € 89,90

3 Het resultaat van een query (2) BOEKEN SELECT DISTINCT uitgever FROM boeken; SELECT DISTINCT uitgever FROM boeken; BOEKNRTITELUITGEVERPRIJS 2.111.1Word in twaalf dagenMEU€ 22,50 2.111.2WordPerfect 9BB€ 29,50 2.111.4Xtal Reports de luxeMEU€ 32,90 2.111.6Access voor dummiesBB€ 32,90 2.112.0Haal het onderste uit ExcelAS€ 39,50 2.112.1Brieven schrijven in WordAS€ 35,00 --- uitgever AS BB KLW MEU

4 Het resultaat van een query (3) BOEKEN SELECT uitgever, COUNT(*) FROM boeken GROUP BY uitgever; SELECT uitgever, COUNT(*) FROM boeken GROUP BY uitgever; BOEKNRTITELUITGEVERPRIJS 2.111.1Word in twaalf dagenMEU€ 22,50 2.111.2WordPerfect 9BB€ 29,50 2.111.4Xtal Reports de luxeMEU€ 32,90 2.111.6Access voor dummiesBB€ 32,90 2.112.0Haal het onderste uit ExcelAS€ 39,50 2.112.1Brieven schrijven in WordAS€ 35,00 --- uitgeverExpr1001 AS5 BB5 KLW1 MEU6

5 Het resultaat van een query (4) Het resultaat is altijd Expr1000 € 89,90 uitgever AS BB KLW MEU uitgeverExpr1001 AS5 BB5 KLW1 MEU6 Eén getal, tekst of datum Een rijtje getallen, teksten of datums Een complete tabel

6 Het resultaat van een query (5) Het resultaat is altijd een tabel Expr1000 € 89,90 uitgever AS BB KLW MEU uitgeverExpr1001 AS5 BB5 KLW1 MEU6 Een tabel met één rij en één kolom Een tabel met één kolom Een tabel

7 Subquery (1) Overal waar sql een tabel verwacht mag een query gebruikt worden. NAAMVOORNAAMGBJCLUBSPRINTVERKOGELGESLACHT KerkhofsMaarten86Scorpio9,55,59m VerdaasFabian86Scorpio103,966,57m WinterFerdinand de87Scorpio103,856,05m RuttenStijn86Atledo10,43,547,94m Nijs-BikEmile de87Atledo10,43,666,94m HeijmansCoen87Scorpio103,565,42m --- MEERKAMP SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Atledo' AND geslacht = 'm'; SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Atledo' AND geslacht = 'm'; Expr1000 Stijn Rutten Emile de Nijs-Bik Dion Pereira Dennie van Blerck Wouter Meulemans

8 Subquery (2) SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Atledo' AND geslacht = 'm'; SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Atledo' AND geslacht = 'm'; Expr1000 Stijn Rutten Emile de Nijs-Bik Dion Pereira Dennie van Blerck Wouter Meulemans SELECT voornaam + ' ' + naam FROM (SELECT * FROM meerkamp WHERE club = 'Atledo') WHERE geslacht = 'm'; SELECT voornaam + ' ' + naam FROM (SELECT * FROM meerkamp WHERE club = 'Atledo') WHERE geslacht = 'm'; SELECT voornaam + ' ' + naam FROM (SELECT * FROM meerkamp WHERE geslacht = 'm') WHERE club = 'Atledo'; SELECT voornaam + ' ' + naam FROM (SELECT * FROM meerkamp WHERE geslacht = 'm') WHERE club = 'Atledo';

9 Subquery (2) SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Atledo' AND geslacht = 'm'; SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Atledo' AND geslacht = 'm'; Expr1000 Stijn Rutten Emile de Nijs-Bik Dion Pereira Dennie van Blerck Wouter Meulemans SELECT voornaam + ' ' + naam FROM (SELECT * FROM meerkamp WHERE geslacht = 'm') WHERE club = 'Atledo'); SELECT voornaam + ' ' + naam FROM (SELECT * FROM meerkamp WHERE geslacht = 'm') WHERE club = 'Atledo');

10 Subquery (3) Een vraag Hoeveel verschillende clubs hebben aan de meerkamp deelgenomen? Normaal kan SELECT COUNT(DISTINCT club) FROM meerkamp; In JetSQL echter niet. SELECT COUNT(*) FROM (SELECT DISTINCT club FROM meerkamp); SELECT COUNT(*) FROM (SELECT DISTINCT club FROM meerkamp); In gemakkelijk op te lossen

11 Subquery (4) Resultaat is één waarde Wie zijn de clubgenoten van Maaike Dikmans? SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Spiridon'; SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Spiridon'; En vervolgens met behulp van het antwoord formuleren: Natuurlijk kun je eerst de club van Maaike achterhalen met SELECT club FROM meerkamp WHERE naam = 'Dikmans'; club Spiridon

12 Subquery (4 vervolg) Resultaat is één waarde SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Spiridon'; SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = 'Spiridon'; SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = (SELECT club FROM meerkamp WHERE naam = 'Dikmans'); SELECT voornaam + ' ' + naam FROM meerkamp WHERE club = (SELECT club FROM meerkamp WHERE naam = 'Dikmans'); Mooier is: SELECT club FROM meerkamp WHERE naam = 'Dikmans';

13 Subquery (5) Resultaat is één waarde Wat is de titel van het duurste boek uit de tabel BOEKEN? SELECT titel FROM boeken WHERE prijs = 89.9; SELECT titel FROM boeken WHERE prijs = 89.9; En vervolgens met behulp van het antwoord de query formuleren: Natuurlijk kun je eerst de prijs van het duurste boek bepalen. SELECT MAX(prijs) FROM boeken; Expr1000 € 89,90

14 Subquery (5 vervolg) Resultaat is één waarde SELECT MAX(prijs) FROM boeken; SELECT titel FROM boeken WHERE prijs = 89.9; SELECT titel FROM boeken WHERE prijs = 89.9; SELECT titel FROM boeken WHERE prijs = (SELECT MAX(prijs) FROM boeken); SELECT titel FROM boeken WHERE prijs = (SELECT MAX(prijs) FROM boeken); Mooier is natuurlijk:

15 Subquery (6) Een rijtje waarden CoureurTeam M. SchumacherFerrari BarrichelloFerrari ButtonBAR SatoBAR FisichellaRenault AlonsoRenault WebberWilliams HeidfeldWilliams RäikkönenMcLaren MontoyaMcLaren de la RosaMcLaren MassaSauber VilleneuveSauber CoulthardRed Bull --- GPCoureurRangnrPunten AustraliëFisichella110 AustraliëBarrichello28 AustraliëAlonso36 AustraliëCoulthard45 AustraliëWebber54 AustraliëMontoya63 AustraliëKlien72 AustraliëRäikkönen81 AustraliëTrulli90 AustraliëMassa100 AustraliëButton110 AustraliëR. Schumacher120 AustraliëVilleneuve130 AustraliëSato140 --- UITSLAGCOUREUR

16 Subquery (6) Van welk team is wel eens een bolide op de eerste plaats geëindigd? CoureurTeam M. SchumacherFerrari BarrichelloFerrari ButtonBAR SatoBAR FisichellaRenault AlonsoRenault WebberWilliams HeidfeldWilliams RäikkönenMcLaren MontoyaMcLaren de la RosaMcLaren MassaSauber VilleneuveSauber CoulthardRed Bull --- GPCoureurRangnrPunten AustraliëFisichella110 AustraliëBarrichello28 AustraliëAlonso36 AustraliëCoulthard45 AustraliëWebber54 AustraliëMontoya63 AustraliëKlien72 AustraliëRäikkönen81 AustraliëTrulli90 AustraliëMassa100 AustraliëButton110 AustraliëR. Schumacher120 AustraliëVilleneuve130 AustraliëSato140 --- UITSLAGCOUREUR

17 Subquery (6 vervolg) Oplossing zonder subquery SELECT team FROM coureur, uitslag WHERE coureur.coureur = uitslag.coureur AND rangnr = 1; SELECT team FROM coureur, uitslag WHERE coureur.coureur = uitslag.coureur AND rangnr = 1; team Renault McLaren SELECT DISTINCT team FROM coureur, uitslag WHERE coureur.coureur = uitslag.coureur AND rangnr = 1; SELECT DISTINCT team FROM coureur, uitslag WHERE coureur.coureur = uitslag.coureur AND rangnr = 1; team McLaren Renault Mooier is natuurlijk:

18 Subquery (6 vervolg) Oplossing met subquery SELECT team FROM coureur WHERE coureur IN (SELECT coureur FROM uitslag WHERE rangnr = 1); SELECT team FROM coureur WHERE coureur IN (SELECT coureur FROM uitslag WHERE rangnr = 1); team Renault McLaren Mooier is natuurlijk: SELECT DISTINCT team FROM coureur WHERE coureur IN (SELECT coureur FROM uitslag WHERE rangnr = 1); SELECT DISTINCT team FROM coureur WHERE coureur IN (SELECT coureur FROM uitslag WHERE rangnr = 1); team McLaren Renault

19 Subquery (7) Noodzakelijke subquery SELECT coureur FROM coureur WHERE coureur NOT IN (SELECT coureur FROM uitslag WHERE rangnr IN (1, 2, 3)); SELECT coureur FROM coureur WHERE coureur NOT IN (SELECT coureur FROM uitslag WHERE rangnr IN (1, 2, 3)); Welke coureurs hebben nog nooit een podiumplaats behaald? coureur Button Sato Montoya de la Rosa Massa Villeneuve Coulthard Klien ---


Download ppt "BIMAIV03 Les A6 BIMAIV03 Les A6. Het resultaat van een query (1) BOEKEN SELECT MAX(prijs) FROM boeken; SELECT MAX(prijs) FROM boeken; BOEKNRTITELUITGEVERPRIJS."

Verwante presentaties


Ads door Google