SQL is een internationaal erkende en veel gebruikte opvraagtaal in een 4GL
omgeving waar gebruik wordt gemaakt van een database. Vele van de moderne
Binnen SQL vallen de commando's onder te verdelen in twee groepen, namelijk commando's waarmee de informatie wordt geselecteerd en commando's waarmee de informatie wordt geformatteerd.
SELECTIE
Voorbeeld 1
SELECT nummer, naam, adres, postcode
FROM attributen
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als
volgt uit:
Nummer naam adres postcode -------- --------------------- -------------------- ----------- 000001 D.K. van der Plas Postcodestraat 25 5234 HG 000010 H. Geertsema Kolkenweg 45 6112 DA 000011 F. van Valkenaar Montgomerylaan 186 2609 HG 000020 G.H Metselaar Achtse Barrier 4 4498 KL 000032 Firma van Cuyk Breedtebaan 32 6452 WE 000051 H. Ketelmans Kerkplein 45 4781 NM 000910 G. Plijzier & zn de Plasmolen 2 4364 FFIn dit voorbeeld wordt een overzicht gegenereerd met daarop van alle cliënten de adresgegevens, zoals die zijn opgenomen in de SELECT regel. De sortering binnen het overzicht is op volgorde van de hoofdsleutel, namelijk het relatienummer.
Voorbeeld 2
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE nummer > 9
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als volgt
uit:
Nummer naam adres postcode -------- --------------------- -------------------- ----------- 000010 H. Geertsema Kolkenweg 45 6112 DA 000011 F. van Valkenaar Montgomerylaan 186 2609 HG 000020 G.H Metselaar Achtse Barrier 4 4498 KL 000032 Firma van Cuyk Breedtebaan 32 6452 WE 000051 H. Ketelmans Kerkplein 45 4781 NM 000910 G. Plijzier & zn de Plasmolen 2 4364 FFDe WHERE commandoregel kan nog verder worden uitgebreid, door op meerdere attributen condities te leggen. Hiervoor kunnen we gebruik maken van de commando's AND, OR, en LIKE
Voorbeeld 3
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE nummer > 9
AND nummer < 100
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als volgt
uit:
Nummer naam adres postcode -------- --------------------- -------------------- ----------- 000010 H. Geertsema Kolkenweg 45 6112 DA 000011 F. van Valkenaar Montgomerylaan 186 2609 HG 000020 G.H Metselaar Achtse Barrier 4 4498 KL 000032 Firma van Cuyk Breedtebaan 32 6452 WE 000051 H. Ketelmans Kerkplein 45 4781 NM
Voorbeeld 4
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE nummer < 9
AND nummer > 100
OR postcode = "2609 HG"
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als volgt
uit:
Nummer naam adres postcode -------- --------------------- -------------------- ----------- 000001 D.K. van der Plas Postcodestraat 25 5234 HG 000011 F. van Valkenaar Montgomerylaan 186 2609 HG 000910 G. Plijzier & zn de Plasmolen 2 4364 FF
In combinatie met het LIKE commando mogen ook het '*' (asterisk) en het '?' (vraagteken) gebruikt worden. Het '*' geeft aan dat alle karakters na dit teken niet meer bepalend zijn bij de selectie. Het '?' geeft aan dat alleen het karakter op deze plaats, of plaatsen, niet van belang is voor de selectie.
Voorbeeld 5A
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE postcode LIKE "6"
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als volgt
uit:
Nummer naam adres postcode -------- --------------------- -------------------- ----------- 000010 H. Geertsema Kolkenweg 45 6112 DA 000011 F. van Valkenaar Montgomerylaan 186 2609 HG 000032 Firma van Cuyk Breedtebaan 32 6452 WE 000910 G. Plijzier & zn de Plasmolen 2 4364 FFVoorbeeld 5B
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE adres LIKE "?o"
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als
volgt uit:
Nummer naam adres postcode -------- --------------------- -------------------- ----------- 000010 H. Geertsema Kolkenweg 45 6112 DA 000011 F. van Valkenaar Montgomerylaan 186 2609 HG
Voorbeeld 6
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE nummer > 9
AND nummer < 100
ORDER BY postcode DESC
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als volgt
uit:
Nummer naam adres postcode -------- -------------------- --------------------- ----------- 000032 Firma van Cuyk Breedtebaan 32 6452 WE 000010 H. Geertsema Kolkenweg 45 6112 DA 000051 H. Ketelmans Kerkplein 45 4781 NM 000020 G.H Metselaar Achtse Barrier 4 4498 KL 000011 F. van Valkenaar Montgomerylaan 186 2609 HGVoor het bepalen van de sortering waarop de lijst zal worden afgedrukt, mag gerust van meerdere attributen gebruik gemaakt worden. Zo kan aflopend gesorteerd worden op postcode, terwijl binnen die sortering weer oplopend wordt gesorteerd op bijvoorbeeld de naam.
Voorbeeld 7
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE nummer > 9
AND nummer < 100
ORDER BY postcode DESC,naam
FORMATTERING
Voorbeeld 8
COLUMN adres FORMAT 12
SELECT nummer, naam, adres, postcode
FROM attributen
WHERE nummer > 9
AND nummer < 100
ORDER BY postcode DESC
Het overzicht dat door deze procedure wordt gegenereerd ziet er dan als volgt uit:
Nummer naam adres postcode -------- ------------------- ---------------- ----------- 000032 Firma van Cuyk Breedtebaan 3 6452 WE 000010 H. Geertsema Kolkenweg 45 6112 DA 000051 H. Ketelmans Kerkplein 45 4781 NM 000020 G.H Metselaar Achtse Barrie 4498 KL 000011 F. van Valkenaar Montgomeryl 2609 HG