Samenvatting :in deze tutorial leer je hoe je SQLite SELECT
. gebruikt statement om gegevens uit een enkele tabel op te vragen.
De SELECT
statement is een van de meest gebruikte instructies in SQL. De SQLite SELECT
statement biedt alle functies van de SELECT
statement in SQL-standaard.
Eenvoudig gebruik van SELECT
verklaring
U kunt de SELECT
. gebruiken statement om als volgt een eenvoudige berekening uit te voeren:
SELECT 1 + 1;
Code language: SQL (Structured Query Language) (sql)
Probeer het
U kunt meerdere uitdrukkingen gebruiken in de SELECT
verklaring als volgt:
SELECT
10 / 5,
2 * 4 ;
Code language: SQL (Structured Query Language) (sql)
Probeer het
Opvragen van gegevens uit een tabel met de SELECT
verklaring
We gebruiken vaak de SELECT
statement om gegevens uit een of meer tabellen op te vragen. De syntaxis van de SELECT
verklaring is als volgt:
SELECT DISTINCT column_list
FROM table_list
JOIN table ON join_condition
WHERE row_filter
ORDER BY column
LIMIT count OFFSET offset
GROUP BY column
HAVING group_filter;
Code language: SQL (Structured Query Language) (sql)
De SELECT
statement is het meest complexe statement in SQLite. Om elk onderdeel gemakkelijker te begrijpen, breken we de SELECT
verklaring in meerdere gemakkelijk te begrijpen tutorials.
- Gebruik de ORDER BY-component om de resultatenset te sorteren
- Gebruik de clausule DISTINCT om unieke rijen in een tabel op te vragen
- Gebruik de WHERE-component om rijen in de resultatenset te filteren
- Gebruik LIMIT OFFSET-clausules om het aantal geretourneerde rijen te beperken
- Gebruik INNER JOIN of LEFT JOIN om gegevens uit meerdere tabellen op te vragen met behulp van join.
- Gebruik GROUP BY om de groepsrijen in groepen te krijgen en pas de aggregatiefunctie voor elke groep toe.
- Gebruik de HAVING-component om groepen te filteren
In deze tutorial gaan we ons concentreren op de eenvoudigste vorm van de SELECT
statement waarmee u gegevens uit een enkele tabel kunt opvragen.
SELECT column_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
Hoewel de SELECT
clausule verschijnt voor de FROM
clausule, evalueert SQLite de FROM
clausule eerst en dan de SELECT
clausule, daarom:
- Geef eerst de tabel op waaruit u gegevens wilt halen in de
FROM
clausule. Merk op dat u meer dan één tabel kunt hebben in deFROM
clausule. We zullen het in de volgende tutorial bespreken. - Ten tweede, specificeer een kolom of een lijst met door komma's gescheiden kolommen in de
SELECT
clausule.
U gebruikt de puntkomma (;) om de instructie te beëindigen.
SQLite SELECT
voorbeelden
Laten we eens kijken naar de tracks
tabel in de voorbeelddatabase.
De tracks
tabel bevat kolommen en rijen. Het ziet eruit als een spreadsheet.
Om gegevens uit de tracktabel te halen, zoals trackid, tracknaam, componist en eenheidsprijs, gebruikt u de volgende verklaring:
SELECT
trackid,
name,
composer,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Probeer het
U specificeert een lijst met kolomnamen, waarvan u gegevens wilt krijgen, in de SELECT
clausule en de tracks
tabel in de FROM
clausule. SQLite geeft het volgende resultaat:
Om gegevens uit alle kolommen te krijgen, specificeert u de kolommen van de tracks
tabel in de SELECT
clausule als volgt:
SELECT
trackid,
name,
albumid,
mediatypeid,
genreid,
composer,
milliseconds,
bytes,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Probeer het
Voor een tabel met veel kolommen zou de query zo lang zijn dat het tijdrovend is om te typen. Om dit te voorkomen, kunt u de asterisk (*) gebruiken, de afkorting voor alle kolommen van de tabel als volgt:
SELECT * FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Probeer het
De zoekopdracht is nu korter en overzichtelijker.
Maar…
Gebruik de asterisk (*) alleen voor testdoeleinden, niet voor de echte applicatie-ontwikkeling.
Omdat…
Wanneer u een toepassing ontwikkelt, moet u bepalen wat SQLite teruggeeft aan uw toepassing. Stel, een tabel heeft 3 kolommen en u gebruikt de asterisk (*) om de gegevens uit alle drie de kolommen op te halen.
Wat als iemand een kolom verwijdert, uw toepassing zou niet goed werken, omdat het ervan uitgaat dat er drie kolommen worden geretourneerd en de logica om die drie kolommen te verwerken zou worden verbroken.
Als iemand meer kolommen toevoegt, kan uw toepassing werken, maar krijgt deze meer gegevens dan nodig is, waardoor er meer I/O-overhead ontstaat tussen de database en de toepassing.
Dus probeer het gebruik van de asterisk (*) als een goede gewoonte te vermijden wanneer u de SELECT
. gebruikt verklaring.
In deze tutorial heb je geleerd hoe je een eenvoudige vorm van de SQLite SELECT
. kunt gebruiken statement om gegevens uit een enkele tabel op te vragen.