Résumé :dans ce tutoriel, vous apprendrez à utiliser SQLite SELECT
pour interroger les données d'une seule table.
Le SELECT
L'instruction est l'une des instructions les plus couramment utilisées dans SQL. Le SQLite SELECT
fournit toutes les fonctionnalités du SELECT
instruction dans la norme SQL.
Utilisations simples de SELECT
déclaration
Vous pouvez utiliser le SELECT
déclaration pour effectuer un calcul simple comme suit :
SELECT 1 + 1;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Vous pouvez utiliser plusieurs expressions dans le SELECT
déclaration comme suit :
SELECT
10 / 5,
2 * 4 ;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Interroger les données d'une table à l'aide de SELECT
déclaration
Nous utilisons souvent le SELECT
instruction pour interroger les données d'une ou plusieurs tables. La syntaxe du SELECT
déclaration est la suivante :
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)
Le SELECT
instruction est l'instruction la plus complexe de SQLite. Pour faciliter la compréhension de chaque partie, nous allons casser le SELECT
déclaration en plusieurs didacticiels faciles à comprendre.
- Utilisez la clause ORDER BY pour trier le jeu de résultats
- Utiliser la clause DISTINCT pour interroger des lignes uniques dans une table
- Utilisez la clause WHERE pour filtrer les lignes dans le jeu de résultats
- Utilisez les clauses LIMIT OFFSET pour limiter le nombre de lignes renvoyées
- Utilisez INNER JOIN ou LEFT JOIN pour interroger les données de plusieurs tables à l'aide de la jointure.
- Utilisez GROUP BY pour regrouper les lignes du groupe et appliquer la fonction d'agrégation pour chaque groupe.
- Utiliser la clause HAVING pour filtrer les groupes
Dans ce tutoriel, nous allons nous concentrer sur la forme la plus simple du SELECT
instruction qui vous permet d'interroger les données d'une seule table.
SELECT column_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
Même si le SELECT
la clause apparaît avant le FROM
clause, SQLite évalue le FROM
clause d'abord, puis le SELECT
clause, donc :
- Tout d'abord, spécifiez la table à partir de laquelle vous souhaitez obtenir des données dans le
FROM
clause. Notez que vous pouvez avoir plus d'une table dans leFROM
clause. Nous en discuterons dans le tutoriel suivant. - Deuxièmement, spécifiez une colonne ou une liste de colonnes séparées par des virgules dans le
SELECT
clause.
Vous utilisez le point-virgule (;) pour terminer l'instruction.
SQLite SELECT
exemples
Jetons un coup d'œil aux tracks
table dans la base de données exemple.
Les tracks
table contient des colonnes et des lignes. Cela ressemble à une feuille de calcul.
Pour obtenir des données de la table des pistes telles que le trackid, le nom de la piste, le compositeur et le prix unitaire, vous utilisez l'instruction suivante :
SELECT
trackid,
name,
composer,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Vous spécifiez une liste de noms de colonnes, dont vous souhaitez obtenir des données, dans le SELECT
clause et les tracks
table dans le FROM
clause. SQLite renvoie le résultat suivant :
Pour obtenir des données de toutes les colonnes, vous spécifiez les colonnes des tracks
tableau dans le SELECT
clause comme suit :
SELECT
trackid,
name,
albumid,
mediatypeid,
genreid,
composer,
milliseconds,
bytes,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
Pour une table avec de nombreuses colonnes, la requête serait si longue qu'elle prendrait du temps à taper. Pour éviter cela, vous pouvez utiliser l'astérisque (*), qui est le raccourci pour toutes les colonnes du tableau comme suit :
SELECT * FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Essayez-le
La requête est maintenant plus courte et plus claire.
Cependant…
Vous devez utiliser l'astérisque (*) à des fins de test uniquement, et non dans le cadre du développement réel de l'application.
Parce que…
Lorsque vous développez une application, vous devez contrôler ce que SQLite renvoie à votre application. Supposons qu'un tableau comporte 3 colonnes et que vous utilisiez l'astérisque (*) pour récupérer les données des trois colonnes.
Que se passe-t-il si quelqu'un supprime une colonne, votre application ne fonctionnera pas correctement, car elle suppose que trois colonnes sont renvoyées et que la logique de traitement de ces trois colonnes serait rompue.
Si quelqu'un ajoute plus de colonnes, votre application peut fonctionner mais elle obtient plus de données que nécessaire, ce qui crée plus de surcharge d'E/S entre la base de données et l'application.
Essayez donc d'éviter d'utiliser l'astérisque (*) comme une bonne habitude lorsque vous utilisez le SELECT
déclaration.
Dans ce tutoriel, vous avez appris à utiliser une forme simple du SQLite SELECT
pour interroger les données d'une seule table.