COMPUTERWOORDEN.NL SQL - basis

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

SQL datadefinitietaal

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

Query SQL Boekje. Fredrik Hamer

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

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

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Databases - Inleiding

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

Les 2 Eenvoudige queries

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

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

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

Structured Query Language (SQL)

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

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

Zelftest DB2 for z/os basiscursus

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

Les 11 : Basis SQL (deel2).

SQL.

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

Vakgroep CW KAHO Sint-Lieven

[TOETS SQL INLEIDING]

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

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

Het omzetten van een ER-diagram naar SQL

Databases en SQL Foundation (DBSQLF.NL)

Sparse columns in SQL server 2008

6. Het maken van een database

8. De invoer van gegevens

Hoofdstuk: 1 Principes van databases

11. Het selecteren van gegevens deel II

Data Manipulation Language

Vragen hoofdstuk 1: Resultaat

Les S-02: Meer geavanceerde SQL-instructies

Structured Query Language

Variabelen en statements in ActionScript

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

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

9 H. Flits Zwanenveld Nijmegen Jeugd1 10 L. Willemsen Kasteel 4 Wychen Jeugd1 12 M.E.P. Graag Broerdijk 234 Nijmegen Heren 12/8/89 19/8/89 36

Les S-01: De basisbeginselen van SQL

2.2 Een tabel ontwerpen

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

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

Informatie & Databases

Een korte samenvatting van enkele FORTRAN opdrachten

EMBEDDED SQL. Inleiding. Queries en update-opdrachten. Embedden en hostvariabelen

Zelftest SQL Workshop

Van een ER-diagram naar een database specificatie in SQL

Relationele database. Het relationele model

Spiekboekje Excel Query SQL

Introductie (relationele) databases

Secure Application Roles

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

ISO SQL: Structured Query Language

Zelftest SQL Workshop

EXIN Databases en SQL Foundation

Miniles gegevensbanken bevragen met SQL

SQL & Relationele datamodellen in interactieve media

17. Scalaire functies

SQL / Systeemanalyse

Koppeling met een database

Van CaseTalk naar een database in SQLite studio

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

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

Integriteitsbewaking bij een relationele database

Data Definition Language

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Toelichting op de beslisboom fz RF12

Informatie verwerking en databases RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE SQL INSERT SQL UPDATE SQL DELETE...

Versieperikelen. Bijlage C

Informatica toets vwo 6 Databases

Snel-& functietoetsen ACCESS

Relationele databases

Puzzelen met SQL DEV. Crash SQL Investigation

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Blog-Het gebruik van variabelen in Excel VBA

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

Datum, Tijd en Timer-object

ISO Query By Example

2.6 Veldeigenschappen

Foutafhandeling in SQL

Les S-01: De basisbeginselen van SQL

Een website maken met databasetoegang.

VAN HET PROGRAMMEREN. Inleiding

oefeningen TOP2000 antwoorden

7. Het selecteren van gegevens

Programmeren met Arduino-software

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

Puzzelen met SQL: Fileleed

Lab Webdesign: Javascript 3 maart 2008

Automatische Installatie op IIS server

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

voorbeeldexamen I-Tracks Databases and SQL Foundation Voorbeeldexamen DBSQLF Uitgave juni 2006

SQL. Datamodellering 2008

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

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

PHP en een MySQL database.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Relationele databanken

Transcriptie:

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... 10... 10 Bijvoorbeeld:...10 DROP TABLE... 11... 11... 11 INSERT...11... 11... 11 VALUES (Waarde,...)... 11 Bijvoorbeeld:...11 Resultaat:...11 SELECT... 11... 11... 11 *...12 DISTINCT...12 FROM {Tabelnaam [Alias]}[,..]... 13 WHERE logische construct...13 GROUP BY {veldnaam integer}...13 HAVING logische construct... 13 ORDER BY {veldnaam integer} [,..]...13 UNION [ALL] SELECT-commando...13 INTERSECT [ALL] SELECT-commando... 13 Pagina 1 van 34.

EXEPT [ALL] SELECT-commando... 13 INTO TEMP Tabelnaam...13 CASE... 14... 14... 14 Voorbeeld:...14 UPDATE...14... 14... 14 SET {veldnaam=waarde} [,...]...14 SQL commando's voor ondersteuning data extractie... 15 CREATE VIEW...15... 15... 15 DROP VIEW...15... 15... 15 CREATE PROCEDURE... 15... 15... 15 DBA...15 REFERENCES {BYTE TEXT}...15 DEFAULT {waarde NULL}...16 RETURNING {Veldtype REFERENCES {BYTE TEXT}}... 16 Opdrachten... 16 DROP PROCEDURE... 16... 16... 16 EXECUTE PROCEDURE...16... 16... 16 Overige SQL-commando's...17 SET ISOLATION TO...17... 17... 17 SET PDQPRIORITY... 17... 17... 17 SET LOCK MODE TO...17... 17... 17 LOAD...17 Pagina 2 van 34.

... 17... 17 UNLOAD...18... 18... 18 BEGIN WORK... 18... 18... 18 COMMIT WORK... 18... 18... 18 ROLLBACK WORK...18... 18... 18 SQL operatoren...19 Normale operatoren... 19 ; (Puntkomma, semicon)... 19 * (Sterretje)... 19 ALL...19 ANY... 19 BETWEEN...19... 19 EXISTS... 19... 19 IN... 19... 19 IS NULL... 19... 19 LIKE...20... 20 Bijvoorbeeld:...20 Jokertekens:...20 MATCHES...20 Jokertekens:...20 SOME...20 Logische operatoren...21 AND... 21... 21 NOT... 21... 21 OR... 21... 21 Pagina 3 van 34.

= (gelijk aan)... 21... 21 > (groter dan)... 21... 21 >= (groter dan of gelijk aan)... 21 < (kleiner dan)...21 <= (kleiner dan of gelijk aan)...22 <> (niet gelijk aan)...22 Rekenkundige operatoren... 23 Operatoren tabel...24 Data samenstelling veranderen... 25 AVG... 25... 25... 25 COUNT...25... 25... 25 MAX... 25... 25... 25 MIN...25... 25... 25 RANGE...25... 25... 26 SUM... 26... 26... 26 STDDEV...26... 26... 26 VARIANCE... 26... 26... 26 Rekenkundige functies in SQL...27 ABS...27... 27... 27 CEIL...27... 27... 27 Pagina 4 van 34.

FLOOR...27... 27... 27 HEX... 27... 27... 27 MOD... 27... 27... 27 ROUND... 28... 28... 28 SQRT... 28... 28... 28 TAN... 28... 28... 28 TRUNC... 28... 28... 28 String functies in SQL... 29 LENGTH...29... 29... 29... 29... 29 RIGHT... 29... 29... 29 SUBSTR...29... 29... 29 TRIM...29... 29... 30 VALUE... 30... 30... 30 Datum- en tijd-functies van SQL...31 CURRENT... 31... 31 Pagina 5 van 34.

... 31 DATE... 31... 31... 31 DAY... 31... 31... 31 EXTEND...31... 31... 31 Voorbeeld:...31 MDY... 31... 32... 32 MONTH... 32... 32... 32 WEEKDAY... 32... 32... 32 YEAR...32... 32... 32 Overige functies binnen SQL... 33 DBSERVERNAME... 33... 33... 33 NVL... 33... 33... 33 SITENAME... 33... 33... 33 USER... 33... 33... 33 Pagina 6 van 34.

Introductie: SQL SQL Structured Query Language. Een database-subtaal om gegevens in een relationele database op te vragen en bij te werken, en om de database te beheren. Hoewel het geen programmeertaal als C en Pascal is, kan SQL worden gebruikt om interactieve opvraagverzoeken (queries) te formuleren; SQL kan ook in een applicatie zijn opgenomen als instructie om gegevens te manipuleren. De SQL-standaard bevat ook onderdelen om gegevens te definiëren, wijzigen, besturen en beveiligen. SQL geschiedenis SQL komt oorspronkelijk uit de stal van IBM waar in de jaren zeventig onderzoek werd gedaan naar de mogelijkheden van relationele databasesystemen. Er werd een experimenteel database managementsysteem ontwikkeld met de naam System R. Als databasetaal werd gekozen voor Sequel, ooit uitgedacht door R.F. Boyce en D.D. Chamberlin. De taal werd hernoemd naar SQL, maar veel mensen spreken dit nog uit als 'siekwul'. Het System R-project bleek een succes en de bevindingen werden gebruikt om SQL/DS te bouwen. Dit was IBM's eerste relationele database managementsysteem dat werd verkocht. Vervolgens bracht IBM DB2 uit wat een enorm succes was. Daarna bouwden andere fabrikanten ook relationele systemen en sommige daarvan implementeerden SQL als databasetaal. In de jaren tachtig kwamen bedrijven als Informix, Sybase en Oracle met soortgelijke oplossingen. Ook deze oplossingen zijn zeer succesvol gebleken en worden op grote schaal toegepast. Om te zorgen voor standaardisatie van SQL zijn door een aantal instanties standaarden ontwikkeld. De meest bekende is ISO in samenwerking met ANSI. SQL is een databasetaal die dus al een tijdje meegaat en de verwachting is dat dit ook nog wel een tijd zo zal blijven. De interessantste ontwikkelingen bij gegevenshantering vinden plaats op het gebied van LDAP. SQL dialecten Hoewel er een ANSI SQL bestaat, een standaard die gedefinieerd is door het ANSI-instituut, wordt door de fabrikanten van databasemanagementsystemen hier niet altijd aan gehouden. Elke database heeft zijn eigen SQL-definities. In dit document zijn de basis SQL-statements opgenomen. Pagina 7 van 34.

Basis SQL-commando's CREATE TABLE Maakt een nieuwe lege tabel aan in de geselecteerde database. CREATE TABLE Tabelnaam ( Veldnaam datatype[grootte] veldtype[..], ); Datatype Datatype is het type waarde dat door het systeem wordt herkend wat in de betreffende kolom moet worden ingevoerd. Pagina 8 van 34.

Soort Datatype Beschrijving Tekst CHARACTER(3) Tekstveld (aantal karakters) CHAR Tekstveld (aantal karakters) Numeriek (exact) DECIMAL Een cijfer met decimalen DEC NUMERIC(1,2) INTEGER INT SMALLINT Hetzelfde als DECIMAL Hetzelfde als decimal, het aantal decimalen is hierbij gespecificeerd (1 cijfer met 2 decimalen) Nummer zonder decimalen. Hierbij wordt de grootte van het nummer gespecificeerd door het databasesysteem. Hetzelfde als INTEGER. Nummer zonder decimalen. Hierbij wordt de grootte van het nummer gespecificeerd door het databasesysteem, welke kleiner zal zijn dan INTEGER. Numeriek (globaal) FLOAT Nummers in exponentiële vorm. REAL Gelijk aan FLOAT. Hierbij wordt de grootte van het nummer gespecificeerd door het databasesysteem. DOUBLE PRECISION Gelijk aan REAL, maar met een dubbele precisie. DOUBLE Hetzelfde als DOUBLE PRECISION. Andere datatypes DATE Datum. In Europese implementaties: dd.mm.yyyy (dd = dag, mm = maand, yyyy = jaar) Tabel 1: Datatype TIME VARCHAR LONG VARCHAR Tijd. In Europese implementaties: hh-mm-ss (hh = uur, mm = minuten, ss = secondes) String met een variabele lengte, welke afhankelijk is van het databasesysteem (maximaal 254 tot 2048 karakters). String met een variabele lengte, welke afhankelijk is van het databasesysteem (maximaal 16 kilobytes). Pagina 9 van 34.

Grootte Geeft aan uit hoeveel eenheden de waarde mag bestaan, bijvoorbeeld CHAR(3) betekent dat de kolom alleen waardes mag hebben met een maximale grootte van 3 karakters. Bij bijvoorbeeld NUMERIC(1,2) wordt bedoeld dat de kolom alleen waardes mag hebben met 1 cijfer voor de komma en 2 cijfers achter de komma (decimalen). Veldtype Geeft aan aan welke voorwaarde de kolom nog meer moet voldoen: Veldtype Beschrijving NOT NULL NULL UNIQUE CHECK(Logische construct) DEFAULT=waarde PRIMARY KEY Tabel 2: Veldtype DELETE FROM Verwijderd records uit een database tabel. In de kolom mag geen lege velden voorkomen In de kolom mag lege velden voorkomen DELETE FROM Tabelnaam [WHERE logische construct]; Bijvoorbeeld: DELETE FROM Test WHERE testwaarde=0; In de kolom moeten alle waarden uniek zijn, er mogen geen twee dezelfde waarden voorkomen. Definieert dat de inhoud van de velden aan een bepaalde voorwaarde moet voldoen, bijvoorbeeld M/V. Wanneer er geen waarde wordt opgegeven voor een veld, zal deze de standaardwaarde krijgen. Definieert dat de kolom(men) de primaire sleutel bevat, de waarden in de kolom moeten uniek zijn. Resultaat: Alle records, waarbij de velden van kolom testwaarde die de waarde 0 hebben worden verwijderd. Pagina 10 van 34.

DROP TABLE Verwijderd een tabel uit een database. DROP TABLE Tabelnaam; INSERT Voegt nieuwe records toe aan een gespecificeerde tabel. INSERT INTO Tabelnaam [(Veldnaam,...)] {VALUES (Waarde,...)} ; VALUES (Waarde,...) Met VALUES worden de waarden bepaald die in de nieuwe record moet worden opgenomen. Bijvoorbeeld: INSERT INTO Test (testobject, resultaat, omgevingstemperatuur) VALUES (fiets, positief, 25); Resultaat: Aan de tabel test wordt een record toegevoegd: Tabel: Test Testobject Resultaat Omgevingstemperatuur Fiets Positief 25 Indien een recordrij nog meer velden heeft dan de gespecificeerde, dan krijgen de overige velden de waarde NULL. Indien er een van de overige kolommen de specificatie NOT NULL heeft gekregen, dan geeft SQL een foutmelding. SELECT Haalt data uit een database. SELECT * {[DISTINCT ALL] {veldnaam CASE}[,..]} Pagina 11 van 34.

FROM {Tabelnaam [Alias]} [,...] [WHERE logische construct] [GROUP BY {veldnaam Integer} [,...]] [HAVING logische construct] [{UNION INTERSECT EXEPT [ALL] SELECT-statement}] [...] [ORDER BY {veldnaam Integer} [,...]] [INTO TEMP Tabelnaam]; * Het sterretje vraagt om alle kolommen die voldoen aan de gestelde eisen. DISTINCT DISTINCT vraagt alleen maar om unieke records. Redundante data wordt niet meegenomen, alleen het eerste record wordt getoond, de volgende record(s) met dezelfde naam wordt overgeslagen. Bijvoorbeeld: Tabel: Test Testobject Resultaat Omgevingstemperatuur Fiets Positief 25 Brommer Negatief 30 Quad Positief 15 Auto Positief 20 Auto Negatief 23 SELECT DISTINCT Testobject FROM Test; Testobject Fiets Brommer Quad Auto Pagina 12 van 34.

FROM {Tabelnaam [Alias]}[,..] FROM vertelt het databasemanagementsysteem uit welke tabellen de data moet worden gehaald. WHERE logische construct Met WHERE wordt de voorwaarden gedefinieerd waaraan de selectie moet voldoen, tevens wordt hiermee bepaald op welke manier meerdere tabellen moeten worden samengevoegd (JOIN). GROUP BY {veldnaam integer} GROUP BY wordt gebruikt om gespecificeerde records te groeperen. HAVING logische construct HAVING wordt alleen gebruikt met een GROUP BY commando, om informatie van de groep te specificeren. ORDER BY {veldnaam integer} [,..] ORDER BY sorteert de records van het resultaat. Wanneer een ORDER BY wordt gebruikt in een GROUP BY statement, dan worden de records van de geselecteerde groepen ook gesorteerd. In plaats van een kolomnaam te selecteren, kan ook het kolomnummer worden gebruikt. UNION [ALL] SELECT-commando Met UNION kan gebruikt worden om een tweede SELECT-statement op te nemen in de resultaten. Met UNION ALL worden alle records toegevoegd aan het resultaat. INTERSECT [ALL] SELECT-commando INTERSECT wordt gebruikt om resultaten van twee of meer SELECT-commando's samen te voegen tot een resultaattabel. De structuur van alle tabellen (de velden in de records) moeten compatibel met elkaar zijn. Wanneer de optie ALL niet wordt gebruikt, worden alleen unieke records getoond in het resultaat. EXEPT [ALL] SELECT-commando Afhankelijk SQL-dialect wordt ook wel MINUS of DIFFERENCE gebruikt. EXCEPT wordt gebruikt voor het samenvoegen van resultaten van twee SELECT-commando's in een resultaattabel. De structuur van alle tabellen (de velden in de records) moeten compatibel met elkaar zijn. Met EXCEPT worden alleen de records toegevoegd die komen uit de eerste SELECTcommando en niet uit de tweede SELECT. INTO TEMP Tabelnaam INTO TEMP wordt gebruikt om een tijdelijke database tabel te maken, welke wordt verwijderd nadat de SQL-sessie is uitgevoerd. Deze commando wordt vaak uitgevoerd om de performance van de SQL-query te verbeteren. Pagina 13 van 34.

CASE Met CASE kan data worden vergeleken met andere data. CASE {WHEN logische construct THEN {veldnaam formule CASE }} [...] Voorbeeld: SELECT klantennummer, naam, CASE woonplaats <> 'Amsterdam' THEN LEFT ('Geen Amsterdammer') ELSE woonplaats FROM Klanten WHERE rating >1; Hier worden alle klanten geselecteerd die een hogere rating hebben dan 1 en bovendien wonen in Amsterdam. UPDATE Verandert waarden van de records in een database tabel. UPDATE Tabelnaam SET {veldnaam=waarde} [,...] [{WHERE logische construct} WHERE CURRENT }]; SET {veldnaam=waarde} [,...] Met SET geef je aan welke velden worden vervangen met de gespecificeerde waarden. Pagina 14 van 34.

SQL commando's voor ondersteuning data extractie CREATE VIEW CREATE VIEW maakt een speciale view (virtuele tabel) op een of meer SQL-tabellen in de database alsof het een nieuwe tabel is, alleen deze wordt dan virtueel aangemaakt (in het geheugen). Met een door CREATE VIEW gecreëerde tabel kan alleen met een beperkt deel van de SELECTcommando's gewerkt worden. CREATE VIEW Viewnaam [(veldnaam [,...] ] SELECT-commando; DROP VIEW Verwijderd een view uit de database (virtuele tabel). DROP VIEW Viewnaam; CREATE PROCEDURE Met CREATE PROCEDURE wordt een functie/programma opgeslagen in de database, welke gebruikt kan worden in SQL-opdrachten of andere programma's/procedures. CREATE [DBA] PROCEDURE procedurenaam ([{Parameternaam {Veldtype REFERENCES {BYTE TEXT}} [DEFAULT {waarde NULL}]} [,...]]) [RETURNING {Veldtype REFERENCES {BYTE TEXT}};] [Opdrachten;] [...] END PROCEDURE; DBA DBA geeft aan de database de opdracht om een voor de database administrator procedure. REFERENCES {BYTE TEXT} Geeft aan aan welke gegevens de procedure wordt gekoppeld. Pagina 15 van 34.

DEFAULT {waarde NULL} Geeft een standaardwaarde welke wordt aangeroepen wanneer de procedure wordt aangeroepen zonder parameters. RETURNING {Veldtype REFERENCES {BYTE TEXT}} RETURNING geeft aan de database de informatie hoeveel waardes en welke type waardes de procedure zal teruggeven. Opdrachten Een SQL-opdracht of een andere opdracht (DEFINE, RETURN, IF, FOR, FOREACH, WHILE, SWITCH, etc). DROP PROCEDURE Verwijderd een opgeslagen procedure. DROP PROCEDURE Procedurenaam; EXECUTE PROCEDURE Start een procedure. EXECUTE PROCEDURE Procedurenaam; Pagina 16 van 34.

Overige SQL-commando's SET ISOLATION TO SET ISOLATION TO DIRTY READ zet de multiuser (meerdere gebruikers) isolatie zo, dat een SQL-commando geen rekening houdt met locked records (geblokkeerde records), ook al zijn de records gelocked in het kader van een UPDATE opdracht. SET ISOLATION TO {DIRTY READ COMMITED READ CURSOR STABILITY REPEATABLE READ}; SET PDQPRIORITY Plaatst de uitvoeringsniveau tot nn. Standaardwaarde is 0 (zonder voorrang), wanneer er geen andere speciale instellingen zijn uitgevoerd. SET PDQPRIORITY nn; SET LOCK MODE TO Stelt de timeout (tijd welke de databasemanagementsysteem wacht tot de records zal worden geunlocked) tot nn seconden. SET LOCK MODE TO WAIT nn; LOAD Wordt gebruikt om een plat bestand in een database te laden. Standaard wordt als scheidingsteken gebruikt. LOAD FROM bestandsnaam [DELIMITER '*'] INSERT TO Tabelnaam Pagina 17 van 34.

UNLOAD Slaat het resultaat van een SELECT-opdracht op in een plat bestand. Elke record wordt op een nieuwe regel opgeslagen en de velden worden uit elkaar gehouden door een scheidingsteken. Standaardteken binnen een databasemanagementsysteem is. UNLOAD TO bestandsnaam [DELIMTER '*'] SELECT-commando. BEGIN WORK Markeert het begin van een transactie, een combinatie SQL-commando's, die teruggedraaid kunnen worden wanneer er problemen optreden. BEGIN WORK; COMMIT WORK Markeert het einde van een transactie, een combinatie SQL-commando's, die teruggedraaid kunnen worden wanneer er problemen optreden. COMMIT WORK; ROLLBACK WORK Draait alle SQL-commando's terug van een transactie. ROLLBACK WORK; Pagina 18 van 34.

SQL operatoren Normale operatoren ; (Puntkomma, semicon) De puntkomma wordt gebruikt om twee SQL-commando's te scheiden. * (Sterretje) Een sterretje is een alias voor alle velden van het geselecteerde tabel. ALL ALL wordt gebruikt om alle records van een SELECT-opdracht te selecteren. ANY ANY en SOME zijn hetzelfde. Wordt gebruikt om een logische construct op alle dataregels rechts van de operator te gebruiken. BETWEEN Controleert of een veld past tussen twee waarden. BETWEEN waarde1 AND waarde2 EXISTS Controleert het bestaan van een resultaat van een sub-select opdracht. EXIST (SELECT-commando) IN Controleert of de uitkomst voldoet aan de gestelde waarden. IN ({Waarde [,...]} SELECT-commando) IS NULL Geeft de waarde TRUE aan op het moment dat een veld leeg is. Veldnaam IS [NOT] NULL Pagina 19 van 34.

LIKE LIKE wordt alleen gebruikt in combinatie met CHAR en VARCHAR. Stelt een voorwaarde aan de zoekopdracht. LIKE string Bijvoorbeeld: SELECT * FROM Test WHERE testobject LIKE 'T%'; Selecteert alle records van de tabel Test waarbij de velden in kolom testobject begint met de letter T. Jokertekens: _ (underscore) = alle karakters zijn toegestaan op deze plek. % (percentageteken) = alle karaktercombinaties zijn toegestaan op deze plek (een of meer karakters). MATCHES MATCHES wordt alleen in combinatie met CHAR en VARCHAR gebruikt. Jokertekens:? (vraagteken) = alle karakters zijn toegestaan op deze plek. * (sterretje) = alle karaktercombinaties zijn toegestaan op deze plek (een of meer karakters). [karakterset] = alleen de tussen vierkante haken opgenomen karakters toegestaan. SOME ANY en SOME zijn hetzelfde. Wordt gebruikt om een logische construct op alle dataregels rechts van de operator te gebruiken. Pagina 20 van 34.

Logische operatoren AND De waarden aan beide zijden van deze operator moeten TRUE (waar) zijn, anders geeft de operator de waarde FALSE (niet waar) terug. logische construct AND logische construct NOT Maakt FALSE van True en andersom. NOT logische construct OR Betekend dat in ieder geval een van beide waarden aan beide kanten TRUE moet zijn, anders geeft de operator een FALSE terug. logische construct OR logische construct = (gelijk aan) Is waar waneer de waardes aan beide zijden van de operator gelijk zijn. formule1 = formule2 > (groter dan) Is waar wanneer de waarde links van de operator groter is dan de waarde rechts van de operator. formule1 > formule2 >= (groter dan of gelijk aan) Is waar wanneer de waarde links van de operator groter of gelijk is dan de waarde rechts van de operator. < (kleiner dan) Is waar wanneer de waarde links van de operator kleiner is dan de waarde rechts van de operator. Pagina 21 van 34.

<= (kleiner dan of gelijk aan) Is waar wanneer de waarde links van de operator kleiner of gelijk is dan de waarde rechts van de operator. <> (niet gelijk aan) Is waar wanneer de waarden links en rechts niet gelijk zijn. Pagina 22 van 34.

Rekenkundige operatoren Binnen formules zijn alle normale rekenkundige operatoren mogelijk: + voor optellen - voor aftrekken * voor vermenigvuldigen / voor delen Pagina 23 van 34.

Operatoren tabel Operator Betekenis Prioriteit + Optellen 0 - Aftrekken 0 * Vermenigvuldigen 1 / Delen 1 + Toevoegen 2 - Weghalen 2 = Gelijk aan 3 <> Ongelijk aan 3 < Kleiner dan 3 > Groter dan 3 <= Kleiner dan en gelijk aan 3 >= Groter dan en gelijk aan 3 [NOT] BETWEEN [niet] tussen 3 IS [NOT] NULL Heeft wel/geen waarde 3 [NOT] IN Wel/niet in de lijst 3 NOT Niet 4 AND Logische en 5 OR Logische of 6 Pagina 24 van 34.

Data samenstelling veranderen AVG Berekend het gemiddelde van alle waarden in de gespecificeerde kolom. AVG (Veldnaam) COUNT Telt het aantal records van een gespecificeerde kolom. Indien één van de records NULL is, dan wordt deze niet meegeteld, tenzij gebruikt gemaakt wordt van COUNT(*). Bij COUNT(*) worden alle records geteld. COUNT({[DISTINCT] Veldnaam} *) MAX Geeft de maximale waarde terug van de gespecificeerde kolom. MAX(Veldnaam) MIN Geeft de minimale waarde terug van de gespecificeerde kolom. MIN(Veldnaam) RANGE Berekent het verschil tussen de minimale en maximale waarde van de gespecificeerde kolom. Pagina 25 van 34.

RANGE(Veldnaam) SUM Telt alle waarden binnen de gespecificeerde kolom op. SUM(Veldnaam) STDDEV Berekent de standaard afwijking van de waarden binnen de gespecificeerde kolom. STDEV(Veldnaam) VARIANCE Berekent de verschillen van de waarden binnen de gespecificeerde kolom. VARIANCE(Veldnaam) Pagina 26 van 34.

Rekenkundige functies in SQL ABS Berekent de absolute waarde van het argument: if x<0 then (-1)*x else x. ABS(Formule) CEIL Rond de waarde af naar boven. CEIL(Formule) FLOOR Rond de waarde af naar beneden. FLOOR(Formule) HEX Geeft de uitkomst terug in hexadecimale waarde. HEX(Formule) MOD Geeft de restwaarde terug bij deling van twee argumenten. MOD(Formule1, Formule2) Pagina 27 van 34.

ROUND Rond het getal af naar de dichtstbijzijnde drijvende komma getal, afhankelijk wat er is gespecificeerd (aantal decimalen). Indien er geen aantal decimalen is gedefinieerd, wordt het getal afgerond op hele getallen. ROUND(Formule [,Integer]) SQRT Berekend de vierkantswortel uit van het argument. SQRT(Formule) TAN Geeft de tangens waarde weer van een argument. TAN(Formule) TRUNC Rondt het getal af in de dichtstbijzijnde integer (hele getal). TRUNC(Formule) Pagina 28 van 34.

String functies in SQL LENGTH Geeft het aantal karakters in de string terug. LENGTH(Formule) LEFT Geeft het aantal karakters terug vanaf de linkerkant (begin) van de string van formule1 terug tot aan de waarde dat gespecificeerd is in formule2. LEFT(Formule1, Formule2) RIGHT Geeft het aantal karakters terug vanaf de rechterkant (einde) van de string van formule1 terug tot aan de waarde dat gespecificeerd is in formule2. RIGHT(Formule1, Formule2) SUBSTR Geeft de karakters terug uit Formule1, welke begint op positie van Formule1 die gespecificeerd is in Formule2 en het aantal wordt bepaald in de waarde van Formule3. SUBSTR(Formule1, Formule2, Formule3) TRIM TRIM verwijdert alle spaties aan het begin en eind van de string. Pagina 29 van 34.

TRIM(Formule) VALUE Zet de string om in een getal. VALUE(Formule) Pagina 30 van 34.

Datum- en tijd-functies van SQL CURRENT Geeft de huidige datum en tijd weer. CURRENT DATE Zet de waarde van de string om in een datum DATE(Formule) DAY Geeft de dag aan uit een datum waarde. DAY(DATE) EXTEND Plaatst de beschrijving van de datum- en tijdwaarden, waarbij het eerste argument de datum is die omgezet moet worden, het tweede argument definieert de beschrijving in de vorm van de beginwaarde en de eindwaarde. EXTEND(Date [,beginwaarde TO eindwaarde]) Voorbeeld: SELECT EXTEND(Date, MONTH TO YEAR) AS TIJD MDY Pagina 31 van 34.

Definieert een datum bestaande uit de componenten: maand, dag, jaar MDY(Formule1, Formule2, Formule3) MONTH Haalt uit de datum de maand. MONTH(DATE) WEEKDAY Berekent en geeft de weekdag terug van de gespecificeerde datum. WEEKDAY(Date) YEAR Haalt het jaar uit de datum. YEAR(Date) Pagina 32 van 34.

Overige functies binnen SQL DBSERVERNAME Geeft de naam weer van de database server. DBSERVERNAME NVL Vervangt alle waarden die NULL zijn met de aangegeven waarde. NVL(Veldnaam [, Waarde]) SITENAME Geeft de naam van de database server die op dat moment door de database wordt gebruikt. SITENAME USER Geeft de naam van de aangemelde gebruiker (op de database). USER Pagina 33 van 34.

Pagina 34 van 34.