0% ont trouvé ce document utile (0 vote)
34 vues6 pages

SQL Select

select from

Transféré par

taalimatiq
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues6 pages

SQL Select

select from

Transféré par

taalimatiq
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

SQL SELECT

L’utilisation la plus courante de SQL consiste à lire des données issues de la


base de données. Cela s’effectue grâce à la commande SELECT, qui retourne
des enregistrements dans un tableau de résultat. Cette commande peut
sélectionner une ou plusieurs colonnes d’une table.

Commande basique
L’utilisation basique de cette commande s’effectue de la manière suivante:

SELECT nom_du_champ FROM nom_du_tableau

Cette requête SQL va sélectionner (SELECT) le champ


“nom_du_champ” provenant (FROM) du tableau appelé “nom_du_tableau”.
Exemple
Imaginons une base de données appelée “client” qui contient des
informations sur les clients d’une entreprise.

Table “client” :

identifiant prenom nom ville

1 Pierre Dupond Paris

2 Sabrina Durand Nantes

3 Julien Martin Lyon

4 David Bernard Marseille

5 Marie Leroy Grenoble


Si l’ont veut avoir la liste de toutes les villes des clients, il suffit d’effectuer la
requête SQL ci-dessous :

SELECT ville FROM client

De cette manière on obtient le résultat suivant :

ville

Paris

Nantes

Lyon

Marseille

Grenoble

Obtenir plusieurs colonnes


Avec la même table client il est possible de lire plusieurs colonnes à la fois. Il
suffit tout simplement de séparer les noms des champs souhaités par une
virgule. Pour obtenir les prénoms et les noms des clients il faut alors faire
la requête suivante:
SELECT prenom, nom FROM client

Ce qui retourne ce résultat:

prenom nom

Pierre Dupond

Sabrina Durand

Julien Martin

David Bernard

Marie Leroy

Obtenir toutes les colonnes d’un tableau


Il est possible de retourner automatiquement toutes les colonnes d’un tableau
sans avoir à connaître le nom de toutes les colonnes. Au lieu de lister toutes
les colonnes, il faut simplement utiliser le caractère “*” (étoile). C’est un joker
qui permet de sélectionner toutes les colonnes. Il s’utilise de la manière
suivante:

SELECT * FROM client

Cette requête SQL retourne exactement les mêmes colonnes qu’il y a dans la
base de données. Dans notre cas, le résultat sera donc:

identifiant prenom nom ville

1 Pierre Dupond Paris

2 Sabrina Durand Nantes

3 Julien Martin Lyon

4 David Bernard Marseille

5 Marie Leroy Grenoble


Il y a des avantages et des inconvénient à l’utiliser. Pour en savoir plus sur le
sujet il est recommandé de lire l’article avantage et inconvénient du sélecteur
étoile.
Cours avancé : ordre des commandes du
SELECT
Cette commande SQL est relativement commune car il est très fréquent de
devoir lire les données issues d’une base de données. Il existe plusieurs
commandes qui permettent de mieux gérer les données que l’ont souhaite
lire. Voici un petit aperçu des fonctionnalités possibles qui sont abordées sur
le reste du site:

 Joindre un autre tableau aux résultats


 Filtrer pour ne sélectionner que certains enregistrements
 Classer les résultats
 Grouper les résultats pour faire uniquement des statistiques (note
moyenne, prix le plus élevé …)
Un requête SELECT peut devenir assez longue. Juste à titre informatif, voici
une requête SELECT qui possède presque toutes les commandes possibles:

SELECT *

FROM table

WHERE condition

GROUP BY expression

HAVING condition

{ UNION | INTERSECT | EXCEPT }

ORDER BY expression

LIMIT count

OFFSET start

A noter : cette requête imaginaire sert principale d’aide-mémoire pour savoir


dans quel ordre sont utilisé chacun des commandes au sein d’une requête
SELECT.
Cours recommandés
 SQL DISTINCT
 SQL WHERE
SQL DISTINCT
L’utilisation de la commande SELECT en SQL permet de lire toutes les
données d’une ou plusieurs colonnes. Cette commande peut potentiellement
afficher des lignes en doubles. Pour éviter des redondances dans les résultats
il faut simplement ajouter DISTINCT après le mot SELECT.
Commande basique
L’utilisation basique de cette commande consiste alors à effectuer la requête
suivante:
SELECT DISTINCT ma_colonne

FROM nom_du_tableau

Cette requête sélectionne le champ “ma_colonne” de la table


“nom_du_tableau” en évitant de retourner des doublons.

R eq u ête pour Oracle


Pour le Système de Gestion de Bases de Données (SGBD) Oracle, cette
requête est remplacée par la commande “UNIQUE”:

SELECT UNIQUE ma_colonne

FROM nom_du_tableau

Exemple
Prenons le cas concret d’une table “client” qui contient des noms et prénoms:

identifiant prenom nom

1 Pierre Dupond

2 Sabrina Bernard

3 David Durand

4 Pierre Leroy

5 Marie Leroy

En utilisant seulement SELECT tous les noms sont retournés, or la table contient
plusieurs fois le même prénom (cf. Pierre). Pour sélectionner uniquement les prénoms
uniques il faut utiliser la requête suivante:
SELECT DISTINCT prenom FROM client

Cette requête va retourner les champs suivants:

prenom

Pierre

Sabrina
prenom

David

Marie

Ce résultat affiche volontairement qu’une seule fois le prénom “Pierre” grâce à


l’utilisation de la commande DISTINCT qui n’affiche que les résultats distincts.

Intérêt
L’utilisation de la commande DISTINCT est très pratique pour éviter les
résultats en doubles. Cependant, pour optimiser les performances il est
préférable d’utiliser la commande SQL GROUP BY lorsque c’est possible.
Cours recommandés
 SQL WHERE
 SQL GROUP BY
SQL SQL_NO_CACHE
L’option SQL_NO_CACHE est utilisée juste après la commande SELECT afin de
spécifier qu’aucun cache ne doit être appliqué sur une requête. Cette
fonctionnalité est particulièrement utile lorsqu’un développeur souhaite
estimer le temps de chargement d’une requête sans que le résultat ne soit
biaisé par une mise en cache.
Cette option est donc très utile lorsque l’ont souhaite travailler
sur l’optimisation du temps de chargement, notamment lorsqu’une
requête a été détectée comme étant particulièrement lente.
Syntaxe
Cette option s’utilise dans une requête SQL via la syntaxe suivante :

SELECT SQL_NO_CACHE * FROM table;

Cet exemple de requête SQL est simple et montre une sélection de toutes les
colonnes pour la table intitulée “table”.

Remarque
Il existe également l’option intitulée SQL_CACHE qui permet à l’inverse
d’obtenir le résultat d’une requête SQL qui est déjà enregistré en cache.

Astuce
D’autres méthodes permettent d’obtenir le résultat d’une requête SQL sans
avoir le résultat en cache. Par exemple, il est possible de faire référence à la
date ou l’heure actuelle afin de s’assurer que le résultat est unique.
Exemple :
SELECT *, NOW() FROM table;

Dans cet exemple, la fonction NOW() est utilisée pour faire référence à la date
et l’heure courante.

Vous aimerez peut-être aussi