# Samenvatting - Leren!

#### Tabel, kolommen en regels (table, columns and rows).

Een tabel bevat informatie over iets, bijvoorbeeld over een persoon. Een **tabel** heet bijvoorbeeld persoon want het bevat gegevens over een persoon.

<table border="1" id="bkmrk-voornaam-achternaam-" style="border-collapse: collapse; width: 100%; height: 116px;"><tbody><tr style="height: 29px;"><td style="width: 20%; height: 29px; background-color: #f0f0f0;">voornaam</td><td style="width: 20%; height: 29px; background-color: #f0f0f0;">achternaam</td><td style="width: 20%; height: 29px; background-color: #f0f0f0;">adres</td><td style="width: 20%; height: 29px; background-color: #f0f0f0;">woonplaats</td><td style="width: 20%; height: 29px; background-color: #f0f0f0;">telefoonnummer</td></tr><tr style="height: 29px;"><td style="width: 20%; height: 29px;">Anouar</td><td style="width: 20%; height: 29px;">Jackson</td><td style="width: 20%; height: 29px;">De Kluivert 3</td><td style="width: 20%; height: 29px;">Amsterdam</td><td style="width: 20%; height: 29px;">06 3434 1212</td></tr><tr style="height: 29px;"><td style="width: 20%; height: 29px;">Jessie</td><td style="width: 20%; height: 29px;">Loo</td><td style="width: 20%; height: 29px;">Grote Markt 1a</td><td style="width: 20%; height: 29px;">Amsterdam</td><td style="width: 20%; height: 29px;">06 2125 7845</td></tr><tr style="height: 29px;"><td style="width: 20%; height: 29px;">Maggie</td><td style="width: 20%; height: 29px;">Mellow</td><td style="width: 20%; height: 29px;">Kleine Gracht 12</td><td style="width: 20%; height: 29px;">Amsterdam</td><td style="width: 20%; height: 29px;">06 1035 2900</td></tr></tbody></table>

Deze table heeft 5 **kolommen**/**columns**, voornaam, achternaam, adres, woonplaats en telefoonnummer. Dit zijn allemaal eigenschappen van de persoon.

Deze table heeft drie **regels**/**rows**. Elke regel bevat informatie over één persoon.

#### SQL Query

Met SQL kun je de database een vraag stellen, de meest eenvoudige query ziet er uit als volg:

SELECT ...  
FROM tabelnaam  
WHERE ...

##### Na de select

<table border="1" id="bkmrk-na-de-select-%C2%A0-kolom" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 50%; background-color: #f0f0f0;">Na de SELECT</td><td style="width: 50%; background-color: #f0f0f0;"> </td></tr><tr><td style="width: 50%;">één of meer kolomnamen</td><td style="width: 50%;">toont de inhoud van de kolomnamen</td></tr><tr><td style="width: 50%;">\*</td><td style="width: 50%;">toont de inhoud van alle kolommen van deze tabel</td></tr><tr><td style="width: 50%;">count(\*)</td><td style="width: 50%;">laat zien hoeveel regels er geselecteerd zijn</td></tr></tbody></table>

##### Na de where

Na de where kun je een vergelijking of selectie maken, bijvoorbeeld:

<table border="1" id="bkmrk-na-de-where-%C2%A0-kolomn" style="border-collapse: collapse; width: 0px; height: 116px;"><tbody><tr style="height: 29px;"><td style="width: 235px; background-color: #f0f0f0; height: 29px;">Na de WHERE</td><td style="width: 573px; background-color: #f0f0f0; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 235px; height: 29px;">kolomnaam = 'xyx'</td><td style="width: 573px; height: 29px;">Toont alle regels waarvan de kolom de 'xyz' heeft (waarde is string).</td></tr><tr><td style="width: 235px;">kolomnaam like 'x%'</td><td style="width: 573px;">Toont alle regels waarvan de kolom met x begint.</td></tr><tr><td style="width: 235px;">kolomnaam like '%x%'</td><td style="width: 573px;">Toont alle regels waarvan de kolom een x bevat.</td></tr><tr><td style="width: 235px;">kolomnaam like '%x'</td><td style="width: 573px;">Toont alle regels waarvan de kolom met x eindigt.</td></tr><tr style="height: 29px;"><td style="width: 235px; height: 29px;">kolomnaam = 12</td><td style="width: 573px; height: 29px;">Toont alle regels waarvan de kolom 12 is (waarde is nummer).</td></tr><tr style="height: 29px;"><td style="width: 235px; height: 29px;">kolmnaam &gt; 12</td><td style="width: 573px; height: 29px;">Toont alle regels waarvan de kolom groter dan 12 is.</td></tr><tr style="height: 29px;"><td style="width: 235px; height: 29px;">kolmnaam &lt; 12</td><td style="width: 573px; height: 29px;">Toont alle regels waarvan de kolom kleiner dan 12 is.</td></tr><tr style="height: 29px;"><td style="width: 235px; height: 29px;">kolmnaam &gt;= 12</td><td style="width: 573px; height: 29px;">Toont alle regels waarvan de kolom groter dan of gelijk aan 12 is.</td></tr><tr style="height: 29px;"><td style="width: 235px; height: 29px;">kolmnaam &lt;= 12</td><td style="width: 573px; height: 29px;">Toont alle regels waarvan de kolom kleiner dan of gelijk 12 is.</td></tr><tr><td style="width: 235px;">kolomnaam &lt;&gt; 12</td><td style="width: 573px;">Toont alle regels waarvan de kolom ongelijk aan 12 is.</td></tr></tbody></table>

Na de where kun je ook **twee** vergelijkingen hebben, deze moet je dan met een AND of een OR aan elkaar kopellen, bijvoorbeeld:

<table border="1" id="bkmrk-na-de-where-%C2%A0-kolom-" style="border-collapse: collapse;"><tbody><tr style="height: 29px;"><td style="width: 251px; background-color: #f0f0f0; height: 29px;">AND - OR</td><td style="width: 557px; background-color: #f0f0f0; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 251px; height: 29px;">kolom &gt;12 AND kolom &lt; 20</td><td style="width: 557px; height: 29px;">Kolom zit tussen 12 en 20; is groter dan 12 **AND** kleiner dan 20.</td></tr><tr><td style="width: 251px;">kolom &lt;12 OR kolom &gt; 20</td><td style="width: 557px;">Kolom is kleiner dan 12 **OR** kolom is groter dan 20.</td></tr><tr><td style="width: 251px;">naam like 'A%' OR naam like 'B%'</td><td style="width: 557px;">de kolom naam begint met een A **OR** met een B.</td></tr><tr><td style="width: 251px;">naam like 'A%' AND naam like 'B%'</td><td style="width: 557px;">de kolom naam begint met een A **AND** met een B; *dit kan niet!*</td></tr></tbody></table>

#### Resultaat sorteren

Bij een select kun je de restultaten sorteren. Dat doe je door een ORDER BY aan het einde van de query toe te voegen.

Na de ORDER BY geef je de kolomnaam waarop je wilt sorteren. Sorteren kan op twee manieren:

<table border="1" id="bkmrk-order-by-betekent-so" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 33.3333%; background-color: #f0f0f0;">ORDER BY</td><td style="width: 33.3333%; background-color: #f0f0f0;">Betekent</td><td style="width: 33.3333%; background-color: #f0f0f0;">Sorteer volgorde</td></tr><tr><td style="width: 33.3333%;">ASC</td><td style="width: 33.3333%;">Ascending (stijgen)</td><td style="width: 33.3333%;">Oplopend: A..Z of 0..9</td></tr><tr><td style="width: 33.3333%;">DESC</td><td style="width: 33.3333%;">Descending (dalen)</td><td style="width: 33.3333%;">Aflopend: Z..A of 9..0</td></tr></tbody></table>

Voorbeeld:

SELECT voornaam, achternaam  
FROM leerling  
ORDER BY achternaam ASC

(sorteer de namen op achternaam oplopend)

That's all!  
\---