Workshop SQL. Woensdag 16 mei 2018

Maat: px
Weergave met pagina beginnen:

Download "Workshop SQL. Woensdag 16 mei 2018"

Transcriptie

1 Workshop SQL Woensdag 16 mei 2018

2 Introductie Mike Winkel Martin Treur SAP B1 tips - Kennisbank Serac.nl -

3 Agenda Wat is een database? SAP Business One database Wat is SQL? Theorie + Oefeningen Query s Performance / Algemene Query tips MSSQL vs HANA Query s visualiseren Tips voor zelfstudie Aan de slag met eigen Query s / Vragen

4 Wat is een database? Gestructureerde gegevensverzameling Bestaat uit TABELLEN TABELLEN bevatten KOLOMMEN en RIJEN KOLOMMEN hebben EIGENSCHAPPEN RIJEN bevatten VELDEN VELDEN bevatten WAARDEN

5 Tabellen in SAP Business One database Namen van SBO-standaardtabellen hebben (meestal) vier karakters Hoofdtabellen beginnen met de letter O OINV - Facturen OITM - Artikelen OCRD - Zakenpartners Afgeleide tabellen beginnen met de laatste 3 karakters van de hoofdtabel plus een volgnummer INV1 - Factuurregels RDR1 Orderregels ITM1 Artikel prijzen Archieftabellen beginnen met een A Gebruikerstabellen en tabellen t.b.v. addons beginnen met

6 Type velden in SAP Business One database Tekst / Strings char(n) String veld met vaste lengte Max 8000 karakters nvarchar(n) Unicode String veld met variabele lengte Max 4000 karakters ntext Unicode String veld met variabele lengte Max 2GB text data Numeriek int Gehele getallen tussen en smallint Gehele getallen tussen en numeric(19, 6) Getal met maximaal 6 cijfers na de komma, totaal 19 cijfers Datums datetime date Datum + tijdstip Datum Een database kan uit nog veel meer type velden bestaan Bovenstaande velden zijn het meest gebruikt in SAP Business One Type veld bepaald welke waarde een veld kan hebben

7 Velden en tabellen achterhalen in SAP Business One De artikeltabel heet OITM. (ITM is van item) De factuurtabel heet OINV. (INV is van invoice) De zakenpartnertabel heet OCRD (CRD is van card) Hulpmiddelen om tabel en veldnamen te achterhalen: Systeem informatie

8 Tabellen en velden opzoeken in SAP Business One Tabel- en veldnaam zichtbaar maken via View Systeeminformatie Control + Shift + I

9 Wat is SQL? Structured Query Language Gestructureerde Informatie Taal Verschillende query types: SELECT query UPDATE query INSERT query DELETE query Met Query s kan je dus informatie ophalen uit een database, informatie wegschrijven, maar ook informatie aanpassen/verwijderen!

10 SELECT Query s Vandaag alleen de SELECT Query Ophalen van gegevens uit database Met een SELECT query geen gevaar voor overschrijven of verwijderen van gegevens

11 Opbouw SQL Query SELECT FROM INNER JOIN ON = WHERE.. = AND.. =.. OR.. <> GROUP BY HAVING.. ORDER BY

12 Voorbeeld SELECT Query SELECT CardCode, CardName FROM OCRD WHERE CardCode = 'C23900' SELECT (verplicht) Welke velden moeten getoond worden FROM ( verplicht ) Uit welke tabel(len) komen de velden WHERE (optioneel) Aan welke voorwaarden moeten de resultaten voldoen

13 Tabellen combineren INNER JOIN Voorbeeld: SELECT T0.CardCode, T0.CardName, T1.DocNum, T1.DocTotal FROM OCRD T0 INNER JOIN OQUT T1 on T0.CardCode = T1.CardCode OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName DocNum DocTotal K0001 Klant K0001 Klant K0001 Klant K0001 Klant K0003 Klant K0004 Klant K0004 Klant INNER JOIN haalt alleen resultaten op die in BEIDE tabellen voorkomen

14 OPDRACHT Maak een Query van alle artikelen met: Artikelcode, Artikelomschrijving, Artikelgroep code, Artikelgroep naam Antwoord: SELECT T0.ItemCode, T0.ItemName, T1.ItmsGrpCod, T1.ItmsGrpNam FROM OITM T0 INNER JOIN OITB T1 on T0.ItmsGrpCod = T1.ItmsGrpCod

15 Tabellen combineren LEFT JOIN Voorbeeld: SELECT T0.CardCode, T0.CardName, T1.DocNum, T1.DocTotal FROM OCRD T0 LEFT JOIN OQUT T1 on T0.CardCode = T1.CardCode OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName DocNum DocTotal K0001 Klant K0001 Klant K0001 Klant K0001 Klant K0002 Klant 2 K0003 Klant K0004 Klant K0004 Klant K0005 Klant 5 LEFT JOIN haalt alle resultaten op uit de linker tabel

16 OPDRACHT Maak een Query van alle artikelen met: Artikelcode, Artikelomschrijving, Hoofdleverancier code, Hoofdleverancier naam Antwoord: SELECT T0.ItemCode, T0.ItemName, T1.CardCode, T1.CardName FROM OITM T0 LEFT JOIN OCRD T1 on T0.CardCode = T1.CardCode LEFT JOIN want niet alle artikelen hebben verplicht een hoofdleverancier

17 Tabellen combineren CROSS JOIN Voorbeeld: SELECT t0.acctcode, t0.acctname, T1.OcrCode, T1.OcrName FROM OACT T0 CROSS JOIN OOCR T1 ORDER BY t0.acctcode OACT AcctCode AcctName 1050Grootboekrekening A 1051Grootboekrekening B 1052Grootboekrekening C OOCR OcrCode OcrName 1000 Administratie 1001 Verkoop Resultaat AcctCode AcctName OcrCode OcrName 1050 Grootboekrekening A 1000 Administratie 1050 Grootboekrekening A 1001 Verkoop 1051 Grootboekrekening B 1000 Administratie 1051 Grootboekrekening B 1001 Verkoop 1052 Grootboekrekening C 1000 Administratie 1052 Grootboekrekening C 1001 Verkoop CROSS JOIN haalt alle combinaties op uit de linker tabel en rechter tabel

18 Tabellen combineren Overzicht JOINS

19 WHERE Voorbeeld: SELECT T0.CardCode, T0.CardName, T1.DocNum, T1.DocTotal FROM OCRD T0 INNER JOIN OQUT T1 on T0.CardCode = T1.CardCode WHERE T1.DocTotal > 200 OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName DocNum DocTotal K0001 Klant K0001 Klant K0001 Klant K0003 Klant In de WHERE kan je voorwaarden zetten (filteren)

20 WHERE voorbeelden voorwaarden Gelijk aan - = Groter dan - > Kleiner dan - < Groter dan / gelijk aan - >= Kleiner dan / gelijk aan - <= Ongelijk - <> Bevat - Like '%_%' Bevat niet - NOT Like '%%_%%' Start met - Like '_%%' Eindigt met - Like '%%_' IS NULL - IS NULL IS NOT NULL - IS NOT NULL Komt voor in - IN ('_','_','_') Voorwaarden ook te combineren met: En - AND Of - OR

21 OPDRACHT Maak een Query van alle klanten en contactpersonen met: Klantnaam, Naam contactpersoon, Telefoonnummer CP, adres CP. Klanten tot en met de letter M Waar adres of Telefoonnummer leeg is Antwoord: SELECT T0.CardCode, T0.CardName, T1.Name, T1.Tel1, T1.E_MailL FROM OCRD T0 LEFT JOIN OCPR T1 on T0.CardCode = T1.CardCode WHERE T0.CardName <= 'N' AND (T1.E_MailL IS NULL OR T1.Tel1 IS NULL) order by 2 LEFT JOIN want niet alle klanten hebben een contactpersoon Voorbeeld AND en OR gebruik. Denk bij gebruik aan OR aan de ()

22 WHERE opnemen in de JOIN Voorbeeld: SELECT T0.CardCode, T0.CardName, T1.DocNum, T1.DocTotal FROM OCRD T0 INNER JOIN OQUT T1 on T0.CardCode = T1.CardCode AND T1.DocTotal > 200 OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName DocNum DocTotal K0001 Klant K0001 Klant K0001 Klant K0003 Klant Je kunt de WHERE ook direct opnemen in de JOIN

23 OPDRACHT Maak een Query van alle artikelen met: Artikelcode, Artikelomschrijving, Inkoopprijs, Bruto verkoopprijs Antwoord: SELECT T0.ItemCode, T0.ItemName, T1.Price as 'Inkoopprijs', T2.Price as 'Verkoopprijs' FROM OITM T0 LEFT JOIN ITM1 T1 on T0.ItemCode = T1.ItemCode AND T1.PriceList = 1 LEFT JOIN ITM1 T2 on T0.ItemCode = T2.ItemCode AND T2.PriceList = 2 LEFT JOIN want niet alle artikelen staan altijd in een prijslijst Voorbeeld van de WHERE in de JOIN opgenomen

24 GROUP BY / Aggregate Function Voorbeeld: SELECT T0.CardCode, T0.CardName, SUM(T1.DocTotal) as Bedrag FROM OCRD T0 INNER JOIN OQUT T1 on T0.CardCode = T1.CardCode GROUP BY T0.CardCode, T0.CardName OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName Bedrag K0001 Klant K0003 Klant K0004 Klant Als je Aggregate functies gebruikt moet je groeperen Met aliassen kan je de kolomnaam bepalen

25 Aggregate Functions - voorbeelden Laagste - MIN Hoogste - MAX Som - SUM Gemiddelde - AVG Aantal - COUNT Standard Deviation - STDEV Variance - VAR SELECT T0.CardCode, SUM(T0.DocTotal) as 'Som', MIN(T0.DocTotal) as 'Laagste', MAX(T0.DocTotal) as 'Hoogste', AVG(T0.DocTotal) as 'Gemiddelde', COUNT(T0.DocNum) as 'Aantal' FROM OINV T0 GROUP BY T0.CardCode

26 OPDRACHT Maak een Query van alle klanten met: KlantCode, Klantnaam, Telefoonnummer klant, Hoogste factuurbedrag. Antwoord: SELECT T0.CardCode, T0.CardName, T0.Phone1, MAX(T1.DocTotal) as 'Bedrag' FROM OCRD T0 INNER JOIN OINV T1 on T0.CardCode = T1.CardCode GROUP BY T0.CardCode, T0.CardName, T0.Phone1

27 HAVING Voorbeeld: SELECT T0.CardCode, T0.CardName, SUM(T1.DocTotal) as Bedrag FROM OCRD T0 INNER JOIN OQUT T1 on T0.CardCode = T1.CardCode GROUP BY T0.CardCode, T0.CardName HAVING SUM(T1.DocTotal) > 500 OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName Bedrag K0001 Klant Aggregate functions kan je niet in de WHERE gebruiken, die moeten in de HAVING

28 OPDRACHT Maak een Query van alle klanten met: KlantCode, Klantnaam, Telefoonnummer klant, Hoogste factuurbedrag. Met alleen klanten die een hogere factuur hebben dan 500 euro Antwoord: SELECT T0.CardCode, T0.CardName, T0.Phone1, MAX(T1.DocTotal) as 'Bedrag' FROM OCRD T0 INNER JOIN OINV T1 on T0.CardCode = T1.CardCode GROUP BY T0.CardCode, T0.CardName, T0.Phone1 HAVING MAX(T1.DocTotal) > 500

29 ORDER BY Voorbeeld: SELECT T0.CardCode, T0.CardName, T1.DocNum, T1.DocTotal FROM OCRD T0 INNER JOIN OQUT T1 on T0.CardCode = T1.CardCode ORDER BY T1.DocTotal DESC OCRD CardCode CardName K0001 Klant 1 K0002 Klant 2 K0003 Klant 3 K0004 Klant 4 K0005 Klant 5 OQUT DocNum DocTotal CardCode K K K K K K K0001 Resultaat CardCode CardName DocNum DocTotal K0003 Klant K0001 Klant K0001 Klant K0001 Klant K0004 Klant K0004 Klant K0001 Klant Order By = Sorteren ASC = oplopend sorteren DESC = aflopend sorteren

30 Basis opbouw SQL Query SELECT FROM INNER JOIN ON = WHERE.. = AND.. =.. OR.. <> GROUP BY HAVING ORDER BY Samenvattend Volgorde opbouw staat vast Alleen de SELECT is verplicht Combinaties zijn mogelijk Meerdere JOINS Meerdere WHERE opties Etc.

31 Wat kan er nog meer? CASE CAST & CONVERT UNION ALL SUB-QUERY s Velden opmaken LOWER UPPER CONCAT REPLACE SUBSTRING LEN LEFT RIGHT Werken met datums Rekenen Vermenigvuldigen Delen Optellen Aftrekken Werken met VIEWS En nog veel meer!

32 CASE SELECT T0.ItemCode, T0.ItemName, CASE WHEN T0.QryGroup1 = 'Y' THEN 'Ja' WHEN T0.QryGroup1 = 'N' THEN 'Nee' END AS 'Eigenschap1' FROM OITM T0 SELECT T0.ItemCode, T0.ItemName, CASE WHEN T0.QryGroup1 = 'Y' THEN 'Ja' ELSE 'Nee' END AS 'Eigenschap1' FROM OITM T0 OITM ItemCode ItemName QryGroup1 A0001 Artikel 1 N A0002 Artikel 2 N A0003 Artikel 3 Y A0004 Artikel 4 N Resultaat ItemCode ItemName Eigenschap1 A0001 Artikel 1 Nee A0002 Artikel 2 Nee A0003 Artikel 3 Ja A0004 Artikel 4 Nee

33 OPDRACHT Maak een Query met alle artikelen: Artikelcode, Artikelomschrijving, Voorraad, Voorraadstatus Voorraadstatus Als voorraad kleiner dan 10 dan Weinig voorraad Als voorraad groter dan 10 en kleiner dan 100 dan Voldoende voorraad Als voorraad groter dan 100 dan Ruim voldoende voorraad Antwoord: SELECT T0.ItemCode, T0.ItemName, T0.OnHand, CASE WHEN T0.OnHand < 10 then 'Weinig voorraad' WHEN T0.OnHand > 10 and T0.OnHand < 100 then 'Voldoende voorraad' WHEN T0.OnHand > 100 then 'Ruim voldoende voorraad' END AS 'Voorraadstatus' FROM OITM T0 Letop! Hoe wordt voorraad 10 en voorraad 100 nu getoond?

34 Veld opmaak SELECT FirstName, LastName, LOWER(FirstName) as 'Lower', UPPER(LastName) as 'Upper', CONCAT(FirstName, ' ', LastName) as 'Concat', REPLACE(FirstName, 'r', '*' ) as 'Replace', SUBSTRING(FirstName, 1, 3 ) as 'Substring', LEN(FirstName) as 'Len', LEFT(FirstName, 2) as 'Left', RIGHT(FirstName, 2) as 'Right' FROM OCPR OCPR FirstName LastName Martin Treur Resultaat FirstName LastName Lower Upper Concat Replace Substring Len Left Right Martin Treur martin TREUR Martin Treur Ma*tin Mar 6Ma in

35 NULL NULL is niet hetzelfde als 0 of een lege string NULL is onbekend / niks SQL maakt verschil tussen een leeg veld en een veld waar een lege string of de waarde 0 in staat CardCode K1000 K1001 K1002 E_MailL NULL martin.treur@serac.nl ItemCode Price A0001 NULL A A0003 3,75 SELECT T0.CardCode, T0.CardName, T0.E_Mail, ISNULL(E_Mail,'NB') as ' ' FROM OCRD T0 WHERE ISNULL(T0.E_Mail, '') <> '' SELECT T0.ItemCode, T0.PriceList, T0.Price, ISNULL(T0.Price, 0) as 'Prijs' FROM ITM1 T0 WHERE ISNULL(T0.Price, 0) <> 0

36 Rekenen SELECT T0.DocNum, T0.DocTotal, T0.DocTotal * 1.2 AS 'Vermenigvuldigen', T0.DocTotal / 0.9 AS 'Delen', T0.DocTotal + 10 AS 'Optellen', T0.DocTotal AS 'Aftrekken' FROM ORDR T0 ORDR DocNum DocTotal Resultaat DocNum DocTotal Vermenigvuldigen Delen Optellen Aftrekken , ,50

37 CAST & CONVERT CAST & CONVERT kunnen beide hetzelfde Omzetten van een veld naar een ander type veld Soms nodig om te kunnen samenvoegen of ermee te rekenen Vaak nodig om Datums anders te presenteren -- CAST Syntax: CAST ( expression AS data_type [ ( length ) ] ) -- CONVERT Syntax: CONVERT ( data_type [ ( length ) ], expression [, style ] ) Voorbeeld: SELECT ItmsGrpCod + '-' + ItmsGrpNam FROM OITB SELECT CAST(ItmsGrpCod as NVARCHAR(10)) + '-' + ItmsGrpNam, CONVERT(NVARCHAR(10), ItmsGrpCod) + '-' + ItmsGrpNam FROM OITB

38 Datums Voorbeeld datum in SAP Business One: SELECT T0.DocDate FROM ORDR T0 Datum + tijdstip veld Toont alleen de datum Huidige datum + tijdstip ophalen: SELECT GETDATE() Of SELECT CURRENT_TIMESTAMP

39 Datums converteren Een datum veld converteren naar ander formaat: select convert(varchar, getdate(), 1) --05/16/18 select convert(varchar, getdate(), 2) select convert(varchar, getdate(), 3) --16/05/18 select convert(varchar, getdate(), 4) select convert(varchar, getdate(), 5) select convert(varchar, getdate(), 6) --16 May 18 select convert(varchar, getdate(), 7) --May 16, 18 select convert(varchar, getdate(), 10) select convert(varchar, getdate(), 11) --16/05/30 select convert(varchar, getdate(), 12) select convert(varchar, getdate(), 13) --16 May :03:01:800 select convert(varchar, getdate(), 14) --12:03:01:800 select convert(varchar, getdate(), 20) :58:49 select convert(varchar, getdate(), 21) :59:05.850

40 Datums converteren (2) 1 t/m 12 = YY 101 t/m 112 = YYYY select convert(varchar, getdate(), 101) --05/16/2018 select convert(varchar, getdate(), 102) select convert(varchar, getdate(), 103) --16/05/2018 select convert(varchar, getdate(), 104) select convert(varchar, getdate(), 105) select convert(varchar, getdate(), 106) --16 May 2018 select convert(varchar, getdate(), 107) --May 16, 2018 select convert(varchar, getdate(), 110) select convert(varchar, getdate(), 111) /05/16 select convert(varchar, getdate(), 112) select convert(varchar, getdate(), 113) --16 May :51:08:697 select convert(varchar, getdate(), 114) --12:52:58:280 select convert(varchar, getdate(), 120) :52:39 select convert(varchar, getdate(), 121) :53:18.887

41 Datums gedeelte ophalen Een gedeelte van een datum ophalen: SELECT YEAR(T0.DocDate) AS 'Jaar' FROM ORDR T0 SELECT MONTH(T0.DocDate) AS 'Maand' FROM ORDR T0 SELECT DAY(T0.DocDate) AS 'Dag' FROM ORDR T0 SELECT DATEPART(YEAR, T0.DocDate) AS 'Jaar' FROM ORDR T0 SELECT DATEPART(QUARTER, T0.DocDate) AS 'Kwartaal' FROM ORDR T0 SELECT DATEPART(MONTH, T0.DocDate) AS 'Maand' FROM ORDR T0 SELECT DATEPART(WEEK, T0.DocDate) AS 'Week' FROM ORDR T0 SELECT DATEPART(ISO_WEEK, T0.DocDate) AS 'ISO Week' FROM ORDR T0 SELECT DATEPART(DAY, T0.DocDate) AS 'Dag van de maand' FROM ORDR T0 SELECT DATEPART(DAYOFYEAR, T0.DocDate) AS 'Dag van het jaar' FROM ORDR T0 SELECT DATEPART(WEEKDAY, T0.DocDate) AS 'Dag van de week' FROM ORDR T0 SELECT DATEPART(HOUR, GETDATE()) AS 'Uur van de dag' FROM ORDR T0 SELECT DATEPART(MINUTE, GETDATE()) AS 'Minuut van het uur' FROM ORDR T0

42 Rekenen met datums Het verschil tussen 2 datums ophalen: SELECT DATEDIFF (DAY, T0.DocDate, T0.DocDueDate) AS 'Dagen' FROM ORDR T0 SELECT DATEDIFF (WEEK, T0.DocDate, T0.DocDueDate) AS 'Weken' FROM ORDR T0 SELECT DATEDIFF (MONTH, T0.DocDate, T0.DocDueDate) AS 'Maanden' FROM ORDR T0 SELECT DATEDIFF (QUARTER, T0.DocDate, T0.DocDueDate) AS 'Kwartalen' FROM ORDR T0 SELECT DATEDIFF (YEAR, T0.DocDate, T0.DocDueDate) AS 'Jaren' FROM ORDR T0

43 UNION ALL SELECT T0.CardCode, T0.DocNum, T0.DocTotal FROM OINV T0 UNION ALL SELECT T0.CardCode, T0.DocNum, T0.DocTotal FROM ORIN T0 OINV CardCode DocNum DocTotal K K K K ORIN CardCode DocNum DocTotal K K Resultaat CardCode DocNum DocTotal K K K K K K Combineert de resultaten van query s in 1 overzicht Aantal velden en type velden moeten gelijk zijn in de query s

44 SUBQUERY s In de WHERE SELECT T0.CardCode, T0.CardName, T0.Phone1 FROM OCRD T0 WHERE T0.CardCode in ( SELECT T20.CardCode FROM ORDR T20 WHERE T20.DocDueDate = CONVERT (date, GETDATE()) ) OCRD CardCode CardName Phone1 K0001 Klant K0002 Klant K0003 Klant ORDR DocNum CardCode DocDueDate 40000K0001 5/16/ K0001 5/19/ K0002 5/19/ K0002 5/21/ K0001 5/21/ K0003 5/16/2018 Resultaat CardCode CardName Phone1 K0001 Klant K0003 Klant

45 OPDRACHT Maak een Query met alle Klanten: Klantcode, Klantnaam, Telefoonnummer Toon alleen klanten die de afgelopen 10 dagen een order hebben geplaatst Gebruik hierbij een SUBQUERY Antwoord: SELECT T0.CardCode, T0.CardName, T0.Phone1 FROM OCRD T0 WHERE T0.CardCode in ( SELECT T20.CardCode FROM ORDR T20 WHERE T20.DocDate > GETDATE() - 10 )

46 SUBQUERY s In de SELECT SELECT T0.CardCode, T0.CardName, T0.Phone1, (SELECT COUNT(T10.DocTotal) FROM ORDR T10 WHERE T0.CardCode = T10.CardCode) as AantalOrders', (SELECT MAX(T20.DocDate) FROM ORDR T20 WHERE T0.CardCode = T20.CardCode) as 'LaatsteOrder', (SELECT SUM(T20.DocTotal) FROM ORDR T20 WHERE T0.CardCode = T20.CardCode) as Totaal' FROM OCRD T0 OCRD CardCode CardName Phone1 K0001 Klant K0002 Klant K0003 Klant ORDR DocNum CardCode DocDate DocTotal 40000K0001 5/16/ K0001 5/19/ K0002 5/19/ K0002 5/21/ K0001 5/21/ K0003 5/25/ Resultaat CardCode CardName Phone1 AantalOrders LaatsteOrder Totaal K0001 Klant /21/ K0002 Klant /21/ K0003 Klant /25/

47 OPDRACHT Maak een Query met: Klantcode, Klantnaam, Omzet in 2018 Mail je antwoord naar:

48 Antwoord voorbeeld 1 SELECT CardCode, CardName, SUM(RegelOmzet) as 'Omzet 2018' FROM ( SELECT t0.cardcode, t0.cardname, t2.linetotal * ((100 - ISNULL(t1.DiscPrcnt, 0)) / 100) AS 'RegelOmzet' FROM OCRD t0 INNER JOIN OINV t1 ON t0.cardcode = t1.cardcode INNER JOIN INV1 t2 ON t1.docentry = t2.docentry LEFT JOIN OACT T11 on T2.AcctCode = T11.AcctCode WHERE t1.canceled = 'N' AND T11.ActType = 'I' AND YEAR(T1.DocDate) = 2018 UNION ALL SELECT t0.cardcode, t0.cardname, t2.linetotal * ((100 - ISNULL(t1.DiscPrcnt, 0)) / 100) * -1 AS 'RegelOmzet' FROM OCRD t0 INNER JOIN ORIN t1 ON t0.cardcode = t1.cardcode INNER JOIN RIN1 t2 ON t1.docentry = t2.docentry LEFT JOIN OACT T11 on T2.AcctCode = T11.AcctCode WHERE t1.canceled = 'N' AND T11.ActType = 'I' AND t2.basetype <> '203' AND YEAR(T1.DocDate) = 2018 ) as T1 GROUP BY CardCode, CardName

49 Antwoord voorbeeld 2 SELECT T0.CardCode, T0.CardName, ( SELECT SUM(ISNULL(T10.DocTotal,0)) - SUM(ISNULL(T10.VatSum,0)) - SUM(ISNULL(T10.DiscSum,0)) FROM OINV T10 WHERE T0.CardCode = T10.CardCode AND T10.CANCELED = 'N' AND YEAR(T10.DocDate) = 2018 ) - ISNULL( (SELECT SUM(ISNULL(T20.DocTotal,0)) - SUM(ISNULL(T20.VatSum,0)) - SUM(ISNULL(T20.DiscSum,0)) FROM ORIN T20 WHERE T0.CardCode = T20.CardCode AND T20.CANCELED = 'N' AND YEAR(T20.DocDate) = 2018 ),0) FROM OCRD T0

50 OPDRACHT Maak een Query met: Klantcode, Klantnaam, Omzet in 2016, Omzet in 2017, Omzet in 2018, Mail je antwoord naar:

51 VIEWS Je kunt een query ook opslaan als een view De query resultaat (view) gedraagt zich dan als een tabel Werkwijze Eenmalig een basis query maken (view) Vervolgens andere query s daarop uitvoeren Voordelen Uniformiteit Tijdsbesparing Voorkomen van fouten Etc.

52 Voorbeeld gebruik VIEW SELECT * FROM SE_OMZET SELECT T0.CardCode, T0.CardName, SUM(T1.RegelOmzet) as 'Omzet 2018' FROM OCRD T0 LEFT JOIN SE_OMZET T1 on T0.CardCode = T1.CardCode and YEAR(T1.DocDate) = 2018 GROUP BY T0.CardCode, T0.CardName SELECT T0.CardCode, T0.CardName, (SELECT SUM(T10.RegelOmzet) FROM SE_OMZET T10 WHERE T0.CardCode = T10.CardCode AND YEAR(T10.DocDate) = 2014) as 'Omzet 2014', (SELECT SUM(T11.RegelOmzet) FROM SE_OMZET T11 WHERE T0.CardCode = T11.CardCode AND YEAR(T11.DocDate) = 2015) as 'Omzet 2015', (SELECT SUM(T12.RegelOmzet) FROM SE_OMZET T12 WHERE T0.CardCode = T12.CardCode AND YEAR(T12.DocDate) = 2016) as 'Omzet 2016', (SELECT SUM(T13.RegelOmzet) FROM SE_OMZET T13 WHERE T0.CardCode = T13.CardCode AND YEAR(T13.DocDate) = 2017) as 'Omzet 2017', (SELECT SUM(T14.RegelOmzet) FROM SE_OMZET T14 WHERE T0.CardCode = T14.CardCode AND YEAR(T14.DocDate) = 2018) as 'Omzet 2018' FROM OCRD T0

53 Performance tips Haal alleen velden op die je echt nodig hebt Geen onnodige tabellen gebruiken Gebruik INNER JOIN i.p.v. LEFT JOIN als het kan Gebruik HAVING alleen voor filteren van Aggregate velden Gebruik WITH (NOLOCK)

54 WITH (NOLOCK) Deadlocks kunnen ontstaan als tegelijk data wordt opgehaald en wordt weggeschreven in een tabel. Voorkom deadlocks door WITH (NOLOCK) toe te voegen aan je query s. Voorbeeld: SELECT T0.DocNum, T0.CardName, T1.ItemCode, T2.ItemName, T1.Quantity FROM ORDR T0 INNER JOIN RDR1 T1 WITH (NOLOCK) ON T0.DocEntry = T1.DocEntry INNER JOIN OITM T2 WITH (NOLOCK) ON T1.ItemCode = T2.ItemCode

55 Algemene Query tips Schrijf je Query overzichtelijk Voeg bij lange / complexe Query s commentaar toe Controleer je Query resultaat meerdere keren op juistheid Indien je vaker dezelfde tabellen nodig hebt, overweeg een VIEW In plaats van de WHERE gebruik de filter mogelijkheid in SAP Business One Werkt je query ook nog als er een nieuw magazijn / klant / artikelgroep wordt aangemaakt? Of een nieuw jaar begint? -- Voorbeeld commentaar SELECT T0.CardCode, T0.CardName FROM OCRD T0

56 MSSQL vs HANA MSSQL: SELECT T0.ItemCode FROM OITM T0 HANA: SELECT T0."ItemCode" FROM OITM T0 ; MSSQL HANA T-SQL ANSI Niet hoofdletter gevoelig Wel hoofdletter gevoelig CAST & CONVERT CAST Geen Queryblok afsluiting Afsluiting met ; ISNULL IFNULL Getdate() & current_timestamp current_timestamp

57 Query s visualiseren

58 Zelfstudie Websites Boeken

59 Vragen?

60 Serac Serac Rijnzathe 36/Postbus PV / 3454 ZH de Meern Telefoon: info@serac.nl

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

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

Nadere informatie

17. Scalaire functies

17. Scalaire functies 17. Scalaire functies Je hebt al regelmatig gewerkt met het SELECT-statement. In dit hoofdstuk ga je een aantal scalaire functies bekijken. 17.1. Wat zijn scalaire functies? Scalaire functies worden gebruikt

Nadere informatie

Query SQL Boekje. Fredrik Hamer

Query SQL Boekje. Fredrik Hamer 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

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Structured Query Language (SQL)

Structured Query Language (SQL) Structured Query Language (SQL) Huub de Beer Eindhoven, 4 juni 2011 Database: in essentie 0 of meer tabellen elke tabel nul of meer kolommen (of velden) elke tabel nul of meer unieke rijen elke query werkt

Nadere informatie

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

12. Meer dan één tabel gebruiken en sub-queries 12. Meer dan één tabel gebruiken en sub-queries 12.1. Inleiding In de vorige hoofdstukken heb je telkens queries uitgevoerd op één tabel. In de praktijk is het raadplegen van gegevens over het algemeen

Nadere informatie

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003 SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets

Nadere informatie

Introductie (relationele) databases

Introductie (relationele) databases Eerste les Introductie (relationele) databases Database en DBMS Een verzameling van gestructureerd opgeslagen gegevens Dus ook een kaartenbak is een database Van oudsher waren er hiërarchische en netwerkdatabases

Nadere informatie

F. TRUYEN - Informatiekunde QBE. MS Access

F. TRUYEN - Informatiekunde QBE. MS Access F. TRUYEN - Informatiekunde QBE MS Access Maak queries via Design View Voeg de tabellen toe die je wil bevragen Selecteer de gewenste kolommen Bekijk resultaat met View knop Bekijk SQL code SQL venster

Nadere informatie

Structured Query Language

Structured Query Language Structured Query Language SQL = internationale standaardtaal. Origineel IBM. SQL92 (SQL2), SQL99 (SQL3), SQL:2003, SQL:2007 en SQL:2008. Vele dialecten. In wat volgt beperken we ons tot wat tot de kern

Nadere informatie

11. Het selecteren van gegevens deel II

11. Het selecteren van gegevens deel II 11. Het selecteren van gegevens deel II 11.1. Inleiding In hoofdstuk 7 heb je kennis gemaakt met het statement Select. In dit hoofdstuk ga je wat dieper in op het statement. Je gaat sorteren / groeperen

Nadere informatie

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

= > >= < <= BETWEEN IS NULL IS NOT NULL Select queries SELECT...FROM... SELECT DISINCT...FROM... WHERE...AND...OR...NOT...LIKE...IN = > >= <

Nadere informatie

SQL & Relationele datamodellen in interactieve media

SQL & Relationele datamodellen in interactieve media SQL & Relationele datamodellen in interactieve media HVA-CMD-V1-datamodelleren oefeningen deel 1: SQL 2012-2013 Inhoud Inhoud... 2 Selecties uit een enkelvoudige datatabel... 3 Selecties uit een meerdere

Nadere informatie

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

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster 4. 4. Inhoud rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Databank Terminologie, Navigeren, Importeren Tabellen Records/Velden manipuleren Queries (Vragen) [Ook in SQL] sorteren filter volgens

Nadere informatie

Les S-02: Meer geavanceerde SQL-instructies

Les S-02: Meer geavanceerde SQL-instructies Les S-02: Meer geavanceerde SQL-instructies 2.0 Overzicht les 1: De basisvorm van een SQL query ziet er als volgt uit: (DISTINCT) selecteer de velden uit de tabel waar de volgende voorwaarde geldt ; Bij

Nadere informatie

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model...

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 4 1.1.4. Wat is SQL?... 6 1.1.5. Verschillende categorieên

Nadere informatie

Miniles gegevensbanken bevragen met SQL

Miniles gegevensbanken bevragen met SQL Miniles gegevensbanken bevragen met SQL In deze miniles gaat het over gegevensbanken of databases. Dit zijn bestanden waarin gegevens kunnen worden opgeslagen. Het is dan van belang dat je op een eenvoudige

Nadere informatie

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

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens

Nadere informatie

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

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64 Klas Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters JONGENS Number Integer MEISJES Number Integer Lessen Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters DOCCODE Short Text 3 Characters

Nadere informatie

oefeningen eredivisie antwoorden

oefeningen eredivisie antwoorden oefeningen eredivisie antwoorden vragen niveau 1 Niveau 1 beslaat de volgende onderwerpen: SELECT,, WHERE, DISTINCT, ORDER BY, eenvoudige vergelijkingen, LIKE, wildcards en eenvoudige logische operatoren.

Nadere informatie

Zelftest SQL Workshop

Zelftest SQL Workshop Zelftest SQL Workshop Document: n0087test.fm 25/06/2014 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST SQL WORKSHOP Handleiding Deze test

Nadere informatie

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

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank v Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank 1 Introductie: data en informatie 1.0 Wat leer je in dit hoofdstuk? 1.1 Verschil tussen gegevens en

Nadere informatie

Data Manipulation Language

Data Manipulation Language Data Manipulation Language (DML) In de vorige les hebben we een database structuur gemaakt van 4 tabellen. Hiervoor worden de volgende scripts gebruikt voor de verschillende tabellen: Tabel A ROBERT ELLIS

Nadere informatie

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

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases

Nadere informatie

Excel Controller. Handleiding Excel Controller Wizard

Excel Controller. Handleiding Excel Controller Wizard Excel Controller Handleiding Excel Controller Wizard 1 Inhoud Inleiding... 3 Eigen SQL... 3 Stap 1 Eigen SQL... 3 Stap 2 Testen SQL... 8 Stap 3 Wizard... 11 Stap 4 Parameters... 13 Voorbeeld Eigen Parameter...

Nadere informatie

Zelftest SQL Workshop

Zelftest SQL Workshop Zelftest SQL Workshop Document: n0087test.fm 04/01/2018 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST SQL WORKSHOP Handleiding Deze test

Nadere informatie

Computerclub Volwassenen, Jeugd en Informatica vzw www.vji.be

Computerclub Volwassenen, Jeugd en Informatica vzw www.vji.be Voorbeelden en oefeningen SQL 1 Computerclub Volwassenen, Jeugd en Informatica vzw www.vji.be Voorbeelden en oefeningen bij demo SQL Voorbeelden en oefeningen Stefan Cruysberghs www.scip.be Februari 2003

Nadere informatie

Relationele databases

Relationele databases Systematisch bouwen van informatiesystemen t.b.v. practicumopdracht : Relationele databases Structured Query Language SQL Relationele databases Geautomatiseerde informatiesystemen gebruiken bijna altijd

Nadere informatie

Internationaal zakendoen met SAP Business One. Woensdag 26 september 2018

Internationaal zakendoen met SAP Business One. Woensdag 26 september 2018 Internationaal zakendoen met SAP Business One Woensdag 26 september 2018 Introductie Mike Winkel Martin Treur SAP Business One tips - https://www.linkedin.com/today/author/janwillemdebruijnserac?trk=pprof-feed

Nadere informatie

Data Definition Language

Data Definition Language Data Definition Language We gaan hier dezelfde database gebruiken als in de vorige les. Nu gaan we deze echter maken met behulp van DDL gedeelte van SQL. Om in het SQL deel van Microsoft Access te komen

Nadere informatie

oefeningen TOP2000 antwoorden

oefeningen TOP2000 antwoorden oefeningen TOP2000 antwoorden vragen niveau 1 Niveau 1 beslaat de volgende onderwerpen: SELECT, FROM, WHERE, DISTINCT, ORDER BY, LIKE, BETWEEN, IN, wildcards, eenvoudige vergelijkingen, eenvoudige logische

Nadere informatie

SQL datadefinitietaal

SQL datadefinitietaal SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen

Nadere informatie

Toelichting Validatieregels DBC GGZ RG12

Toelichting Validatieregels DBC GGZ RG12 Toelichting Validatieregels DBC GGZ RG12 Versie 20111201 Ingangsdatum: 1 januari 2012 Inhoudsopgave 1 Inleiding...3 2 Algemene gegevens van de tabel...4 3 Specificatie van de validatieregels...6 4 De validatieregels...8

Nadere informatie

Puzzelen met SQL DEV. Crash SQL Investigation

Puzzelen met SQL DEV. Crash SQL Investigation Puzzelen met SQL Crash SQL Investigation Deze puzzel is gebaseerd op het verhaal van Carel-Jan Engel tijdens een AMIS Query over High Availability. Hij vertelde hoe hij actief was bij het vliegveld van

Nadere informatie

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

Puzzelen met SQL 38. De Muzieklijst, deel 2 PUZZELEN MET SQL 2 3 4 10 2 14 15 18 21 PUZZELEN MET SQL 3 26 27 1 32 33 33 36 Puzzelen met SQL 38 0 41 5 46 47 De Muzieklijst, deel 2 intro In het vorige nummer is een start gemaakt met het bijhouden van een muzieklijst,

Nadere informatie

[TOETS SQL INLEIDING]

[TOETS SQL INLEIDING] 2011 ROC ter AA afdeling T&T Team ICT Toets SQL Inleiding Duur: 100 minuten Hulpmiddelen: Alleen Pen en Papier Er is één voorblad en vijf opgaven pagina s. Normering: Deel I: 14 punten (7x2 Deel II: 10

Nadere informatie

Geautomatiseerde factuurverwerking: ImageCapture voor SAP Business One. Woensdag 26 september 2018

Geautomatiseerde factuurverwerking: ImageCapture voor SAP Business One. Woensdag 26 september 2018 Geautomatiseerde factuurverwerking: ImageCapture voor SAP Business One Woensdag 26 september 2018 Agenda Introductie Demo scenario s Samenvatting en vragen Introductie Jan Willem de Bruijn Serac Maarten

Nadere informatie

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

Inleiding... 3. 1 Databases en Data Base Management Systems... 3. 2 Tabellen... 3. 3 Wat is SQL?... 5 1 Inhoudsopgave. Inleiding.... 3 1 Databases en Data Base Management Systems.... 3 2 Tabellen.... 3 3 Wat is SQL?... 5 4 Gegevens opvragen (deel 1).... 5 4.1 Boolean operatoren.... 7 4.2 IN en BETWEEN

Nadere informatie

Les 11 : Basis SQL (deel2).

Les 11 : Basis SQL (deel2). Les 11 : Basis SQL (deel2). Wat is SQL? SQL gaan we gebruiken voor het raadplegen van de database. We gaan gegevens invoegen in de database, selecteren, aanpassen en verwijderen van de database. Om dit

Nadere informatie

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

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank Inhoud Computervaardigheden Hoofdstuk 5 Databanken (Let op: dit is enkel voor studenten Bio-Ingenieur.) Terminologie Data importeren Basis queries Allerhande Joins Doe dit. Aandachtspunt! Wat gebeurt hier?

Nadere informatie

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

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.

Nadere informatie

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

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC Aantekeningen IRDB Vak: IRDB > Infrma1ca Rela1nele DataBase Onderstaande database scripts zijn gebaseerd p PstgreSQL. Standaarden Schrijf SQL wrden al1jd in hfdlefers, k al werkt het met kleine lefers;

Nadere informatie

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

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Op dit moment gebruiken

Nadere informatie

Sorteren, groeperen en totaliseren

Sorteren, groeperen en totaliseren 6 Sorteren, groeperen en totaliseren 6.1 Inleiding Een rapport maken begint met het selecteren van de tabellen en het plaatsen van de velden die u in uw rapport wilt afdrukken. Vervolgens sorteert, groepeert

Nadere informatie

SQL & Datamodelleren

SQL & Datamodelleren SQL & Datamodelleren HVA-CMD-V1-datamodelleren Algemene handleiding bij het lesprogramma 2012-2013 Inhoud Inhoud... 2 Inleiding... 3 Leerdoelen:... 3 Plaats in het leerplan:... 3 Werkwijze:... 3 Lesstof:...

Nadere informatie

Release Notes. Afdrukdatum: 2008/10/06

Release Notes. Afdrukdatum: 2008/10/06 Release Notes Afdrukdatum: 2008/10/06 Dit document beschrijft vanuit technisch oogpunt de aanpassingen in Hi-Ant aan de betreffende versie. Deze tekst is geenszins bedoeld als document naar de eindgebruiker,

Nadere informatie

Hoofdstuk: 1 Principes van databases

Hoofdstuk: 1 Principes van databases DBSQLF Databases en SQL Hoofdstuk: 1 Principes van databases aant Css: 4 732 blz 9 1.1 Doel ve database - om op het juiste moment op de juiste plaats de juiste gegevens beschikbaar te hebben richten we

Nadere informatie

Data Manipulatie. Query Talen. / Informatica

Data Manipulatie. Query Talen. / Informatica Data Manipulatie Query Talen 1 Queries maken in TC en SQL (ter verduidelijking) We kijken nog even naar bier-query q: Geef alle paren van drinkers die niet samen naar een kroeg kunnen gaan en daar allebei

Nadere informatie

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

Correctievoorschrift VWO NederlandsNederl. Informatica. Tijdvak 1 Woensdag 17 mei uur. College-examen schriftelijk. NederlandsNederl Correctievoorschrift VWO 2017 Informatica Tijdvak 1 Woensdag 17 mei 13.30 15.30 uur College-examen schriftelijk VF-0161-s-17-1-c 1 Algemene regels Scorepunten worden toegekend met inachtneming

Nadere informatie

Rapportage voor Unit4 Multivers. Eindhoven, 22 juni 2017

Rapportage voor Unit4 Multivers. Eindhoven, 22 juni 2017 Rapportage voor Unit4 Multivers Eindhoven, 22 juni 2017 Sprekers Introductie: Remco Wefels Presentatie: Bart Scheepens HRT Business Professionals HRTbusiness.nl Volg ons via 2 Agenda Verschillende mogelijkheden

Nadere informatie

Les S-01: De basisbeginselen van SQL

Les S-01: De basisbeginselen van SQL Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database

Nadere informatie

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

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens Info-books HA40c Toegepaste Informatica Handleiding Deel 40c : Gegevensbeheer en algoritmen in Access Jos Gils Erik Goossens Veldlengte Het maximale aantal tekens dat in een veld kan ingevoerd worden.

Nadere informatie

SQL.

SQL. SQL joost.vennekens@kuleuven.be Mogelijkheden Tabellen maken: create table Tabellen verwijderen: drop table Tabellen vullen: insert into Tabellen wijzigen: update, delete from Gegevens opvragen: select

Nadere informatie

Alternatieven voor reporting en windowingfuncties

Alternatieven voor reporting en windowingfuncties Alternatieven voor reporting en windowingfuncties Max Met aggregaatsfunctie count (en self join: SELECT t1.hasc,t1.iso,t1.gebruik select x.name,x.weight from competitors x join competitors y on y.weight>=x.weight

Nadere informatie

Medical Intelligence in de praktijk

Medical Intelligence in de praktijk Medical Intelligence in de praktijk Een kijkje in de MI straat in het UMCU Aafke Jongsma & Michiel Vuurboom Visie Het uitwisselen van oplossingen en ervaringen ten behoeve van het verzamelen en ontsluiten

Nadere informatie

AVG/GDPR met SAP Business One. Donderdag 14 juni 2018

AVG/GDPR met SAP Business One. Donderdag 14 juni 2018 AVG/GDPR met SAP Business One Donderdag 14 juni 2018 Introductie Jan Willem de Bruijn Martin Treur SAP Business One tips - https://www.linkedin.com/today/author/janwillemdebruijnserac?trk=pprof-feed Kennisbank

Nadere informatie

6.8 Lijsten: oefeningen

6.8 Lijsten: oefeningen 6.8 Lijsten: oefeningen Opgaven 44.: Records zoeken Open het document "Autokosten". Klik in de lijst. Kies de opdracht 'Data - Formulier' [Data - Form]. Klik de knop 'Criteria' [Criteria]. Vul als zoekcriterium

Nadere informatie

SQL opgaven. Relationele model: Opgaven:

SQL opgaven. Relationele model: Opgaven: SQL opgaven Relationele model: Opgaven: 1. Selecteer de klanten die bij fabriek F1 of fabriek F4 een bestelling hebben geplaatst. 2. Selecteer de klanten die bij fabriek F1 en fabriek F4 een bestelling

Nadere informatie

6. Het maken van een database

6. Het maken van een database 6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor

Nadere informatie

EXIN Databases en SQL Foundation

EXIN Databases en SQL Foundation EXIN Databases en SQL Foundation Preparation Guide Editie 201608 Copyright 2016 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing

Nadere informatie

COMPUTERWOORDEN.NL SQL - basis

COMPUTERWOORDEN.NL SQL - basis Inhoudsopgave... 1 Introductie: SQL... 7 SQL... 7 SQL geschiedenis...7 SQL dialecten...7 Basis SQL-commando's...8 CREATE TABLE... 8... 8... 8 Datatype...8 Grootte...10 Veldtype... 10 DELETE FROM... 10...

Nadere informatie

Wijzigingen Universe OSIRIS Manager versie 6.14.1/02 augustus 2014

Wijzigingen Universe OSIRIS Manager versie 6.14.1/02 augustus 2014 Inhoud Inleiding...2 Toelichting extra functionaliteit in release 6.14.1/02...2 Bepalen toetsdatum...2 Wens uitbereiding OSMAN universe met historie geldend resultaat...2 Wens 1: Een class met de historische

Nadere informatie

PROGRAMMA 2011-2012. Vak: informatica..

PROGRAMMA 2011-2012. Vak: informatica.. Vak: informatica.. Laag: Havo-. PROGRAMMA 2011-2012 week leerstof dagen toets overig 34-26.08 zomervakantie Bespreking PTA-404 Deze week: uitreiking van de Praktische Opdracht Programmeren Herhaling theorie

Nadere informatie

Databases en SQL Foundation (DBSQLF.NL)

Databases en SQL Foundation (DBSQLF.NL) Databases en SQL Foundation (DBSQLF.NL) EXIN Hét exameninstituut voor ICT ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T +31 30 234 48

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

Informatie verwerking en databases... 4. RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE...

Informatie verwerking en databases... 4. RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE... Databases+SQL 1 Inhoud Informatie verwerking en databases... 4 RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE... 18 SQL ORDER BY... 19 SQL Aggregate

Nadere informatie

Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2

Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2 v Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2 1 Introductie: data en informatie 3 1.0 Wat leer je in dit hoofdstuk? 3 1.1 Verschil tussen

Nadere informatie

Datamodelleren en databases 2011

Datamodelleren en databases 2011 Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued

Nadere informatie

Puzzelen met SQL: Fileleed

Puzzelen met SQL: Fileleed Puzzelen met SQL: Fileleed Patrick Barel, Alex Nuijten - AMIS Services BV Na begin de dag met een dansje en de NOS Headlines worden op Radio 3 de files voorgelezen. Heleen de Geest of John Bakker, van

Nadere informatie

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

Correctievoorschrift HAVO Informatica. Tijdvak 1 Woensdag 24 mei uur. College-examen schriftelijk. Correctievoorschrift HAVO 2017 Informatica Tijdvak 1 Woensdag 24 mei 13.30 15.30 uur College-examen schriftelijk HF-0161-s-17-1-c 1 Informatica 1 Voor het antwoord op een open vraag worden alleen gehele

Nadere informatie

ISO Query By Example

ISO Query By Example ISO Query By Example Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. QBE waarom nog een query taal? de relationele algebra en SQL geven niet alleen een specificatie van een query-resultaat,

Nadere informatie

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p. SQL en XML Datamodellering 2007 1 XML schema s & DMO Schema een ruim begrip (zie Møller, p. 96) DTD schema W3C Schema In dit overzicht: Wat zijn de belangrijke zaken uit XML voor datamodellering? (onvolledig)

Nadere informatie

Gebruikers Handleiding

Gebruikers Handleiding Gebruikers Handleiding (De SQL module) Versie 2.14 Pagina 2 van 14 Versie 2.14 Inhoudsopgave NGP SQL...5 Het Menu... 6 De instellingen... 7 De database informatie... 9 Het Script... 10 Pagina 3 van 14

Nadere informatie

GDPR met SAP Business One. Dinsdag 19 juni 2018

GDPR met SAP Business One. Dinsdag 19 juni 2018 GDPR met SAP Business One Dinsdag 19 juni 2018 Introductie Jan Willem de Bruijn Martin Treur Ruben Zwetsloot SAP Business One tips - https://www.linkedin.com/today/author/janwillemdebruijnserac?trk=pprof-feed

Nadere informatie

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

SQL: query taal met. woorden. ISO SQL: Structured Query Language. de SQL basis query structuur. voorbeeld: doel: intuitieve query taal SQL: query taal met woorden ISO SQL: Structured Query Language Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. doel: intuitieve query taal gebruikt Engelse woorden: select, from,

Nadere informatie

Informatica. Staatsexamen HAVO. Nederl. Tijdvak 1 Woensdag 23 mei uur. College-examen schriftelijk. Opgavenboekje

Informatica. Staatsexamen HAVO. Nederl. Tijdvak 1 Woensdag 23 mei uur. College-examen schriftelijk. Opgavenboekje Staatsexamen HAVO 2012 Nederl Informatica Tijdvak 1 Woensdag 23 mei 09.00 11.00 uur College-examen schriftelijk Opgavenboekje Dit examen bestaat uit 30 opgaven. De eerste 20 opgaven zijn meerkeuzevragen.

Nadere informatie

Subrapporten. 5.1 Inleiding

Subrapporten. 5.1 Inleiding 5 Subrapporten 5.1 Inleiding Een subrapport is een rapport in een rapport. Een subrapport maak je dan ook net zoals je een gewoon rapport maakt. Een subrapport heeft bijna alle eigenschappen die een normaal

Nadere informatie

Relationele database. Het relationele model

Relationele database. Het relationele model Module SQL Relationele database. Een database, gegevensbank of databank is een verzameling van gegevens, ingericht met oog op makkelijke raadpleging en gebruik. Databases spelen een belangrijke rol in

Nadere informatie

ISO SQL: Structured Query Language

ISO SQL: Structured Query Language ISO SQL: Structured Query Language Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. SQL: query taal met woorden doel: intuitieve query taal gebruikt Engelse woorden: select, from,

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

(Online) Verkoop & CRM. Woensdag 9 maart 2016

(Online) Verkoop & CRM. Woensdag 9 maart 2016 (Online) Verkoop & CRM Woensdag 9 maart 2016 Agenda Introductie Verkoop proces en CRM SAP B1 app Online? Vragen Introductie Marit Polman Xander van t Hof Jan Willem de Bruijn SAP B1 tips https://www.linkedin.com/today/author/13543797?trk=prof-sm

Nadere informatie

Informatica. Staatsexamen HAVO 2015. Nederl. Tijdvak 1 Vrijdag 29 mei 13.30 15.30 uur. College-examen schriftelijk. Opgavenboekje

Informatica. Staatsexamen HAVO 2015. Nederl. Tijdvak 1 Vrijdag 29 mei 13.30 15.30 uur. College-examen schriftelijk. Opgavenboekje Nederl Staatsexamen HAVO 205 Informatica Tijdvak Vrijdag 29 mei 3.30 5.30 uur College-examen schriftelijk Opgavenboekje Dit examen bestaat uit 35 opgaven. De eerste 20 opgaven zijn meerkeuze opgaven. Opgaven

Nadere informatie

VBA voor Doe het Zelvers deel 20

VBA voor Doe het Zelvers deel 20 VBA voor Doe het Zelvers deel 20 Handleiding van Auteur: leofact Augustus 2015 handleiding: VBA voor Doe het Zelvers deel 20 Vorige aflevering In het vorige deel werd besproken hoe je de structuur en vensteropbouw

Nadere informatie

Spiekboekje Excel Query SQL

Spiekboekje Excel Query SQL Spiekboekje Excel Query SQL Spiekboekje Excel Query SQL Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402163100 Fredrik Hamer Inhoudsopgave Excel functies Inhoudsopgave

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Word Gevorderd 2010. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2012

Auteur boek: Vera Lukassen Titel boek: Word Gevorderd 2010. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2012 Auteur boek: Vera Lukassen Titel boek: Word Gevorderd 2010 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2012 ISBN: 978-90-817910-7-6 Dit boek is gedrukt op een papiersoort

Nadere informatie

Database ontwerp Normaliseren.

Database ontwerp Normaliseren. Database ontwerp Normaliseren. 3NV stappen 1. Geef de attributen aan die afhankelijk zijn van andere niet-sleutel attributen 2. Bedenk een naam voor deze nieuwe groep 3. Maak de groep de en wijs de primaire

Nadere informatie

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

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina. Gegevens exporteren en bewerken vanuit GRIEL Stap 1. Selecteer de juiste gegevens en download deze 1. Stel het datumfilter in op de gewenste periode. Druk op ververs. 2. Maak met behulp van het filter

Nadere informatie

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

1. * Database worden vaak gebruikt in Client-Server architectuur. Naam Studentnummer Klas Herkansing [ ] ja, nee [ ], zoja uit welk jaar? kernbegrippen relationele database Minimaal drie van de vijf vragen goed beantwoorden. 1. * Database worden vaak gebruikt in Client-Server

Nadere informatie

Gekoppelde tabellen: de JOIN

Gekoppelde tabellen: de JOIN 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

Nadere informatie

ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot

ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot Van Duuren Media, ISBN 9789463560665 Inhoud Voorwoord 1. Goed beginnen Voor wie is dit boek bedoeld? Werken met dit boek Afspraken

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

1 OEFENING GEGEVENSBEHEER 1

1 OEFENING GEGEVENSBEHEER 1 1 OEFENING GEGEVENSBEHEER 1 1.1 EEN LIJST MAKEN Maak onderstaande koppen voor een lijst. Begin in cel C8 (het is dus niet nodig een lijst te beginnen in A1). Maak de koppen vet. Dit moet je doen omdat

Nadere informatie

Datakwaliteitsborging met Oracle dynamisch SQL

Datakwaliteitsborging met Oracle dynamisch SQL Ook zonder specifieke tools goede oplossing mogelijk Datakwaliteitsborging met Oracle dynamisch SQL Reinbert Hamstra De bruikbaarheid van gegevens in een organisatie is rechtstreeks afhankelijk van de

Nadere informatie

Real time overzicht van uw financiële resultaten

Real time overzicht van uw financiële resultaten Real time overzicht van uw financiële resultaten Woensdag 14 september 2016 Agenda Introductie & inleiding Quick Wins Inrichting Rapportages Vragen Introductie Xander van t Hof Thomas van der Zandt Jan

Nadere informatie

Data Warehouse Script Generator Doel

Data Warehouse Script Generator Doel Data Warehouse Script Generator Doel Op basis van een aantal standaard sql scripts ( create table, create view ) een nieuwe sql script genereren welke alle objecten ( tables & views ) kan aanmaken in een

Nadere informatie

Informatica. Staatsexamen HAVO 2014. Nederl. Tijdvak 1 Maandag 26 mei 13.30 15.30 uur. College-examen schriftelijk. Opgavenboekje

Informatica. Staatsexamen HAVO 2014. Nederl. Tijdvak 1 Maandag 26 mei 13.30 15.30 uur. College-examen schriftelijk. Opgavenboekje Nederl Staatsexamen HAVO 2014 Informatica Tijdvak 1 Maandag 26 mei 13.30 15.30 uur College-examen schriftelijk Opgavenboekje Dit examen bestaat uit 31 opgaven. De eerste 20 opgaven zijn meerkeuzevragen.

Nadere informatie

Informatica. Staatsexamen HAVO Nederl. Tijdvak 1 Vrijdag 29 mei uur. College-examen schriftelijk. Opgavenboekje

Informatica. Staatsexamen HAVO Nederl. Tijdvak 1 Vrijdag 29 mei uur. College-examen schriftelijk. Opgavenboekje Nederl Staatsexamen HAVO 2015 Informatica Tijdvak 1 Vrijdag 29 mei 13.30 15.30 uur College-examen schriftelijk Opgavenboekje Dit examen bestaat uit 35 opgaven. De eerste 20 opgaven zijn meerkeuze opgaven.

Nadere informatie

SQL. Datamodellering 2008

SQL. Datamodellering 2008 SQL Datamodellering 2008 1 Wat is SQL? SQL is een standaard interactieve bevragings- en definitietaal voor relationele DBMSen SQL is een set-based, declaratieve query-taal (dus niet procedureel!) DB-leveranciers

Nadere informatie

SQL. Wat is SQL? Geschiedenis SQL SQL DMO 2008 1. Datamodellering 2008

SQL. Wat is SQL? Geschiedenis SQL SQL DMO 2008 1. Datamodellering 2008 SQL Datamodellering 2008 1 Wat is SQL? is een standaard interactieve bevragings- en definitietaal voor relationele DBMSen is een set-based, declaratieve query-taal (dus niet procedureel!) DB-leveranciers

Nadere informatie