SQL Basis

Hoofdstuk 2 - Data ophalen

Syntax

SELECT	<wat je wil zien>
FROM	<tabel>

  • SELECT is een 'keyword' (Een gereserveerd woord)
  • Toont alle rijen van een tabel
  • Resultaat is ongesorteerd
  • Niet gefilterd resultaat
  • Statement is NIET case sensitive
  • Extra spaties worden genegeerd

Selecteer de productnamen uit de tabel Products

SELECT	prod_name
FROM	Products;
prod_name
Fish bean bag toy
Bird bean bag toy
Rabbit bean bag toy
8 inch teddy bear
12 inch teddy bear
18 inch teddy bear
Raggedy Ann
King doll
Queen doll
  • Om meerdere kolommen te selecteren wordt in het SELECT statement elke kolomnaam met een komma gescheiden

Selecteer het product id, naam en prijs uit de tabel Products

SELECT	prod_id,
	prod_name,
	prod_price
FROM	Products;
prod_idprod_nameprod_price
BNBG01Fish bean bag toy3.49
BNBG02Bird bean bag toy3.49
BNBG03Rabbit bean bag toy3.49
BR018 inch teddy bear5.99
BR0212 inch teddy bear8.99
BR0318 inch teddy bear11.99
RGAN01Raggedy Ann4.99
RYL01King doll9.49
RYL02Queen doll9.49
  • Om alle kolommen te selecteren wordt de asterix * in het SELECT statement gebruikt

Selecteer alle kolommen uit de tabel Products

SELECT	*
FROM	Products;
prod_idvend_idprod_nameprod_priceprod_desc
BNBG01DLL01Fish bean bag toy3.49Fish bean bag toy complete with bean bag worms with which to feed it
BNBG02DLL01Bird bean bag toy3.49Bird bean bag toy eggs are not included
BNBG03DLL01Rabbit bean bag toy3.49Rabbit bean bag toy comes with bean bag carrots
BR01BRS018 inch teddy bear5.998 inch teddy bear comes with cap and jacket
BR02BRS0112 inch teddy bear8.9912 inch teddy bear comes with cap and jacket
BR03BRS0118 inch teddy bear11.9918 inch teddy bear comes with cap and jacket
RGAN01DLL01Raggedy Ann4.9918 inch Raggedy Ann doll
RYL01FNG01King doll9.4912 inch king doll with royal garments and crown
RYL02FNG01Queen doll9.4912 inch queen doll with royal garments and crown

Als je niet alle rijen van een tabel wil binnenhalen beperk je dan tot een aantal rijen

  • SQL Server / MS Access: Plaats in het SELECT statement het Keyword TOP gevolgd door het aantal rijen
SELECT TOP 5 cust_name
FROM Customers;
  • MySQL / MariaDB / PostgreSQL / SQLite: Plaats onder het FROM statement het keyword LIMIT gevolgd door het aantal rijen
SELECT cust_name
FROM Customers
LIMIT 5;
  • Oracle: Plaats onder het FROM statement het keyword WHERE gevolgd door het aantal rijen
SELECT cust_name
FROM Customers
WHERE rownum <= 5;
  • DB2 / Oracle: Plaats onder het FROM statement de keywords FETCH FIRST X ROWS ONLY
SELECT cust_name
FROM Customers
FETCH FIRST 5 ROWS ONLY;

Voor een meer variaties op W3Schools


Selecteer de eerste 5 rijen uit de tabel Products

SELECT prod_name
FROM   Products
LIMIT  5;
prod_name
Fish bean bag toy
Bird bean bag toy
Rabbit bean bag toy
8 inch teddy bear
12 inch teddy bear
  • Gebruik het Keyword DISTINCT in het SELECT statement om unieke rijen op te halen
  • DISTINCT werkt op alle kolommen in de SELECT statement

Selecteer vend_id uit de tabel Products

SELECT	DISTINCT vend_id 
FROM	Products;
vend_id
BRS01
DLL01
FNG01
  • Een enkele regel commentaar: -- commentaar
-- Deze query is niet moeilijk
SELECT * -- Hier worden alle kolommen geselecteerd
FROM Customers;
-- LIMIT 1;
  • Meerdere regels commentaar: /* commentaar-blok */
/* Deze query nog niet weghalen
SELECT * 
FROM Customers;
LIMIT 1; */
  1. Selecteer alles (alle rijen en kolommen) uit de tabel OrderItems (18)


  1. Selecteer prod_name en de prod_price uit de tabel Products (9)


  1. Selecteer order_num uit de tabel Orders (5)


  1. Selecteer unieke order_num's uit de tabel OrderItems (5)


  1. Selecteer alles van de eerste 5 rijen uit de tabel OrderItems (5)