Query SQL Boekje. Fredrik Hamer

Vergelijkbare documenten
Spiekboekje Excel Query SQL

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

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

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

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

Les S-02: Meer geavanceerde SQL-instructies

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

11. Het selecteren van gegevens deel II

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

Databases - Inleiding

Structured Query Language (SQL)

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

Data Manipulation Language

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

[TOETS SQL INLEIDING]

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

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

Snel-& functietoetsen ACCESS

Structured Query Language

Introductie (relationele) databases

Informatie & Databases

Databases en SQL Foundation (DBSQLF.NL)

SQL.

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

Les 11 : Basis SQL (deel2).

Data Definition Language

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

INHOUD EXCEL GEVORDERDEN DEEL 1: ENKELE OEFENINGEN

EXIN Databases en SQL Foundation

DATABASEBEHEER IN EXCEL

INHOUDSOPGAVE Ms Access 2007

SQL datadefinitietaal

FileMaker 13. Naslaggegevens voor SQL

Inhoudsopgave. Theorie Praktijk Gegevens uit Database halen DML commando s... 14

Sorteren, groeperen en totaliseren

FileMaker 15. Naslaggegevens voor SQL

Relationele databases

Hoofdstuk: 1 Principes van databases

Les 2 Eenvoudige queries

oefeningen TOP2000 antwoorden

Les S-01: De basisbeginselen van SQL

No part of this book may be reproduced in any form, by print, photoprint, microfilm or any other means without written permission of the publisher.

Technische nota AbiFire Rapporten maken via ODBC

Zelftest SQL Workshop

ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot

Microsoft. Roger Frans

Excel Controller. Handleiding Excel Controller Wizard

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

databases & SQL - antwoorden

ADVANCED DATABASES Syllabus versie 2.0

oefeningen eredivisie antwoorden

OFFICE A LA CARTE - ACCESS 2013

7. Het selecteren van gegevens

Miniles gegevensbanken bevragen met SQL

Access /3. Roger Frans. met cd-rom. campinia media vzw

INHOUDSOPGAVE Ms Access 2010

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

ISO Query By Example

INHOUD. Ten geleide Excel Basis 15

Computerclub Volwassenen, Jeugd en Informatica vzw

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

Data Manipulatie. Query Talen. / Informatica

Inhoud Basiscursus. Access 2010 NL-NL

Relationele database. Het relationele model

Les 15 : updaten van gegevens in de database (deel2).

Hoofdstuk 21: Gegevens samenvatten

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens

SQL & Relationele datamodellen in interactieve media

2.6 Veldeigenschappen

Correctief onderhoud Bug nummers: 958, 960, 867, 977, 978, 979, 980, 981, 983, 984, 985 en 986.

8. De invoer van gegevens

Les S-01: De basisbeginselen van SQL

Zelftest SQL Workshop

Zelftest DB2 for z/os basiscursus

Vragen hoofdstuk 1: Resultaat

6.8 Lijsten: oefeningen

Nummer: 011 ( ) The Courseware Company

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

Macro s. 4.2 Een macro maken

2.2 Een tabel ontwerpen

Databases SQL - meerdere tabellen

COMPUTERWOORDEN.NL SQL - basis

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE

6. Het maken van een database

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

Gebruikers Handleiding

Relatieve en Absolute adressering

Access Basis. 699,- excl. BTW per deelnemer Duur: Kosten: 2 dagen Max Deelnemers: 10

SQL opgaven. Relationele model: Opgaven:

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

Databases gebruiken. Databases gebruiken

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

Lab Webdesign: Javascript 3 maart 2008

Data Warehouse Script Generator Doel

Deze les heeft veel oefeningen. Om tijd te besparen kunt u eventueel de herhaling

module Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008

Access Beginners. Roger Frans. met cd-rom. campinia media

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina.

S VERZENDEN MET AFDRUK SAMENVOEGEN

En hoe gaan ze dit allemaal terugvinden?

Transcriptie:

Query SQL Boekje

Query SQL Boekje Fredrik Hamer

Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer

Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen twee datumvelden berekenen 19 Absolute waarde getal 20 Adresgegevens samenvoegen 21 Als-voorwaarde gebruiken 22 B. Bedragen vermenigvuldigen 24 Bedrag verhogen met percentage 24 Bereik van getallen berekenen 25 Bijlage SQL 166 Aggregaatfuncties SQL 166 Alias 167 All 167 Alter Table 168 Any 169 Asc(ending) 169 Avg 170 Berekening uitvoeren 170 Between 171 Commit 172 Count 172 Create Index 173 Create Table 173 Create View 174 Delete 175 Desc(ending) 175 5

Distinct 176 Drop Table 176 Evaluatievolgorde 177 Group By 177 Having 178 In 178 Inner Join 179 Insert into 179 Jokertekens 180 Like 180 Max 180 Min 181 Not In 181 Offset Rows 182 Order by 183 Primaire sleutel 183 Rollback 184 Select 185 Select Into 186 Select Top 186 Subquery 187 Sum 187 Union 188 Update 189 Values 189 Where 190 Bijlage tabellen 164 D. Dag optellen bij datum 28 Dag van datum bepalen 28 Dag van de week als naam 30 Dag van de week als nummer 31 6

Dag van gisteren berekenen 32 Dag van morgen berekenen 33 Datum of tijd opmaken 33 Datum samenstellen 35 Datumvelden afgelopen maand filteren 35 Datumvelden buiten een reeks filteren 36 Datumvelden groter dan huidige datum filteren 37 Datumvelden huidige kwartaal filteren 38 Datumvelden huidige maand filteren 39 Datumvelden huidige week filteren 40 Datumvelden in een bepaalde maand filteren 41 Datumvelden in een bepaald kwartaal filteren 42 Datumvelden in het afgelopen jaar filteren 43 Datumvelden in het huidige jaar filteren 44 Datumvelden in het volgende jaar filteren 44 Datumvelden kleiner dan huidige datum filteren 45 Datumvelden laatste 7 dagen filteren 46 Datumvelden na een bepaalde datum filteren 47 Datumvelden ongelijk aan huidige datum zoeken 48 Datumvelden op 1 of 2 datums filteren 48 Datumvelden op meerdere datums filteren 49 Datumvelden tussen 1 januari en huidige datum filteren 50 Datumvelden tussen huidige datum -30, 31 dagen filteren 51 Datumvelden tussen twee datums filteren 52 Datumvelden volgende maand filteren 53 Datumvelden volgend kwartaal filteren 54 Datumvelden volgende week filteren 55 Datumvelden voor een bepaalde datum filteren 56 Datumvelden vorig kwartaal filteren 57 Datumvelden vorige week filteren 58 Datum weergeven die een aantal dagen voor of na een bepaalde datum ligt 59 Dialoogvenster instellen 60 7

E. Eerste dag van de maand 62 Eerste dag van het kwartaal 63 Eerste letter van een woord met hoofdletter 63 Eerste teken van een tekenreeks als geheel getal 64 Eerste teken van een waarde selecteren 65 Expressie omzetten in een getal met dubbele precisie 66 F. Filteren op een cijfer na een letter 68 Filteren op een waarde 68 G. Gedeelte van getal vóór decimaalteken opvragen 70 Gelijke waarden zoeken 71 Gemiddelde berekenen 71 Getal afronden op opgegeven aantal decimalen 72 Getal converteren naar een tekenreeks 73 Getallen in een tekenreeks weergeven 74 Getallen omzetten naar een tijd 75 Getal omzetten naar een hexadecimale waarde 75 Getal omzetten naar een octale waarde 76 Getal opmaken 77 Getal opmaken als percentage 78 H. Hoogste waarde filteren 81 Huidige datum 81 8

I. Inleiding 13 IN-operator gebruiken in een query 83 J. Jaar optellen bij datum 84 Jaar van datum 84 Jokerteken gebruiken 85 K. Kwartaal optellen bij datum 89 L. Laagste waarde filteren 90 Laatste dag van de maand 90 Laatste dag van het kwartaal 91 Laatste teken van een waarde selecteren 92 Leeftijd berekenen 93 Leeg veld bepalen 94 Leeg veld filteren 96 Leeg veld vullen met waarde 0 96 M. Maand als naam 98 Maand optellen bij datum 99 Maand van datum 100 9

Maximumwaarde zoeken 101 Meerdere criteria opgeven 102 Minuten uit tijd halen 104 N. Niet lege velden filteren 106 Null waarden converteren naar nul 106 O. Optellen van verschillende velden 108 OR-operator gebruiken in een query 108 P. Percentage berekenen op basis van twee velden 110 Postcode 111 Precieze datum zoeken 111 R. Records tellen in een veld 113 Reeksexpressie evalueren en waarde retourneren 114 S. Seconden uit tijd halen 116 Som waarden van een veld weergeven 116 Spaties plaatsen 117 Spaties verwijderen 118 10

T. Teken op basis van tekencode 120 Tekenreeks herhalen met opgegeven lengte 120 Tekens midden in een waarde selecteren 121 Tekenvolgorde van een tekenreeks omkeren 122 Timer 123 Top 10 maken 123 Totaal berekenen 124 Tijd 125 U. Uitsluiten waarden 127 Uniek nummer aanmaken met datum en tijd 128 Uur uit tijd halen 129 V. Valuta maken van een getal 131 Variant Null naar een andere waarde converteren 133 Velden combineren 134 Vermenigvuldigen van velden 135 Verschillende waarden filteren 135 Verwijzen naar kolom in een keuzelijst in een formulier 136 Verwijzen naar veld in formulier 138 Verwijzen naar veld in rapport 139 Verwijzen naar veld in subformulier 140 Verwijzen naar veld in subrapport 140 Voorvoegsel met hoofdletter 141 Voorwaarde gebruiken in een query 142 11

W. Waarde converteren naar een variant 144 Waarden buiten reeks filteren 145 Waarden filteren die eindigen op bepaalde letters 146 Waarden filteren op beginletter 146 Waarden filteren met bepaalde lengte 147 Waarden filteren met een minimumlengte 148 Waarden op reeks filteren 149 Waarden uitsluiten 150 Waarden uitsluiten op beginletter 151 Waarden vervangen door andere waarden 152 Waarde omzetten in een geheel getal 153 Weeknummer bij datum 154 Week optellen bij datum 155 Werkwijze 14 Willekeurig nummer aanmaken 156 Woorden in hoofdletters 157 Woorden in kleine letters 158 Z. Zoeken naar een teken in een tekenreeks 161 Zoeken naar een waarde 162 12

Inleiding Met veel plezier presenteren wij u het Query SQL Boekje. Een naslagwerk voor werknemers, studenten en scholieren die query s ontwikkelen in Microsoft Office Access en weinig tot geen parate kennis hebben van de syntaxis van expressies. Het naslagwerk bestaat uit een groot aantal vraagstellingen. Bijvoorbeeld: Top 10 maken. Na een korte omschrijving volgt de syntaxis, voorbeeld met resultaat en de daarbij behorende SQL-code. In de bijlage vindt u een overzicht van de meest gebruikte SQL-instructies. Handig als u naast Office Access bijvoorbeeld ook werkt met MySQL. Bij elke instructie staat een voorbeeld. Alle query s zijn getest in Office Access 2016 binnen een Windows 10 omgeving. Microsoft wijzigt niet snel de syntaxis van een expressie. U kunt het naslagwerk dus waarschijnlijk zonder problemen gebruiken bij andere versies van Access. 100% zekerheid kunnen wij u echter niet geven. In het hoofdstuk Werkwijze meer informatie over de indeling en de werkwijze van het Query SQL Boekje. Wij wensen u alvast veel succes bij het ontwikkelen van query s! Druk 2 (26 april 2017) Het gedeelte over query s uitgebreid met een aantal nieuwe vraagstellingen. Verder de lay-out geoptimaliseerd. 13

Werkwijze Het naslagwerk bestaat uit een groot aantal vraagstellingen. Bijvoorbeeld: Voorvoegsel met hoofdletter. Indeling De standaard indeling is: Omschrijving: Korte omschrijving van de vraagstelling. Ook wordt de positie van de expressie genoemd: veld of criteria. Syntaxis: Voorbeeld: SQL: Opbouw expressie. Minimaal 1 voorbeeld met een resultaat. SQL-code, gegenereerd door Access op basis van de onderliggende query. Tabellen Bij de voorbeelden worden de tabellen Test en Test_1 gebruikt. De velden in de tabellen zijn slechts aangemaakt als testvelden en hebben onderling weinig samenhang. De tabellen met de velden kunt u vinden in de bijlage Tabellen. 14

Positie expressie Een expressie wordt geplaatst in een nieuw veld of bij Criteria onder een bestaand veld. De positie wordt altijd duidelijk aangegeven: in de omschrijving en in het voorbeeld. In Access ziet de indeling er als volgt uit: Veld Tabel Totaal Sorteervolgorde Weergeven Criteria Of Het veld Totaal wordt alleen weergegeven als Totalen is ingeschakeld voor de query (rechterknop muis). Om ruimte te besparen beperken wij de indeling tot alleen de velden en rijen die wij nodig hebben in het voorbeeld. Expressie bij Criteria: Veld Criteria [naamveld] Expressie Expressie in nieuw veld: [naamveld] [naamnieuwveld]:expressie 15

SQL-code De SQL-code is gegenereerd door Office Access op basis van de onderliggende query. U kunt de query ook maken op basis van de SQL-code. De tabellen Test en Test_01 met de daarbij behorende velden dienen dan wel aanwezig te zijn. Aandachtspunten - De weergave van datumvelden is mede afhankelijk van uw computerinstellingen. Bij het testen werden bij ons de datumvelden als volgt weergegeven: o In Query: #31-12-2016# o In SQL: #12-31-2016# - U kunt de datumvelden in de code eventueel aanpassen aan de instellingen op uw computer. - Let op aanhalingstekens. Bij het kopiëren van een expressie vanuit Word naar Access kregen wij soms een foutmelding. Er is een verschil tussen: o en ', o en ". - De aanhalingstekens " en ' zijn correct. Bij handmatig intypen van de code ging alles goed. - Bij de voorbeelden en resultaten worden de tabellen Test en Test_01 niet volledig getoond. Dit om ruimte te besparen. U kunt zelf de waarden in de tabellen bepalen en de code hieraan aanpassen. - De expressies in het boek zijn slechts (eenvoudige) voorbeelden. U kunt de expressies uiteraard uitbreiden met eigen velden en voorwaarden. - Een expressie is altijd één regel. In het voorbeeld kan een expressie op meerdere regels staan. 16

A. Aanhef bepalen De aanhef bepalen op basis van een veld en plaatsen in een nieuw veld. Syntaxis IIf([Kolom]= "[Veld]= "[Waarde]"; "[Waarde]";["Waarde]" Voorbeeld 1 Geslacht Aanhef: IIf([Geslacht]="Man";"Dhr. ";"Mvr. ") Resultaat Geslacht Man Vrouw Aanhef Dhr. Mvr. SQL SELECT IIf([Geslacht]="Man","Dhr. ","Mvr. ") AS Aanhef FROM Test; Voorbeeld 2 Geslacht Aanhef: IIf([Geslacht]="Man";"Dhr. "; IIf([Geslacht]="Vrouw";"Mvr. ";"Dhr. / Mvr. ")) 17

Resultaat Geslacht Man Vrouw Aanhef Dhr. Mvr. Dhr. / Mvr. SQL SELECT IIf([Geslacht]="Man","Dhr. ",IIf([Geslacht]="Vrouw","Mvr. ","Dhr. / Mvr. ")) AS Aanhef FROM Test; Aantal Waarden tellen in een veld en plaatsen in een nieuw veld. Syntaxis Aantal(*) Voorbeeld Orders Score: Aantal(*) Resultaat Orders Score P215 36 Q16 78 18

SQL SELECT Count(Test.[Orders]) AS Score FROM Test; Aantal dagen tussen twee datumvelden berekenen Aantal dagen tussen twee datumvelden berekenen en het resultaat in een nieuw veld plaatsen. Syntaxis DateDiff("d";[naamVeld];[naamVeld]) Of: [naamveld]-[naamveld] Voorbeeld 1 Inkoop datum Verkoop datum DgInMagazijn: DateDiff("d";[Inkoopdatum]; [Verkoopdatum]) Resultaat Inkoopdatum Verkoopdatum DgInMagazijn 1-1-17 16-2-2017 46 11-3-2017 11-4-2017 31 19