Les commandes select et FROM sont utilsées pour sélectionner des tables dans une base de données.

Il est également possible de sélectionner de un à plusieurs champs en séparant les noms de champs ou de colonnes par une virgule. Pour sélectionner tous les champs, il suffit d'utiliser une étoile à la place des nomds de champs.

select nom_champ,..., nom_champN FROM nom_table
Librairie
ISBN Livre Editeur Prix
1565926978 ORACLE SQL : THE ESSENTIAL REFERENCE (EN ANGLAIS) O'REILLY 330.00
1565929489 ORACLE SQL* LOADER : THE DEFINITIVE GUIDE (EN ANGLAIS) O'REILLY 286.00
2212092857 INITIATION A SQL - COURS ET EXERCICES CORRIGES EYROLLES 183.00
2744009296 SQL CAMPUSPRESS FRANCE 62.00
2744090034 MAITRISEZ SQL WROX PRESS 286.00
2840725029 SQL ENI 140.00
2840828987 KIT DE FORMATION MICROSOFT SQL SERVER 2000 ADMINISTRATION SYSTEME MICROSOFT PRESS 284.00
select Livre FROM Librairie
' retourne
ORACLE SQL : THE ESSENTIAL REFERENCE (EN ANGLAIS)
ORACLE SQL* LOADER : THE DEFINITIVE GUIDE (EN ANGLAIS)
INITIATION A SQL - COURS ET EXERCICES CORRIGES
SQL
MAITRISEZ SQL
SQL
KIT DE FORMATION MICROSOFT SQL 
        SERVER 2000 ADMINISTRATION SYSTEME

La commande DISTINCT sélectionne chaque élément distinct d'une colonne de données.

La commande ALL indique que les doublons peuvent apparaître dans le résultat d'une requête, elle constitue la commande par défaut de select.

select DISTINCT nom_champ FROM nom_table
select DISTINCT Livre FROM Librairie

' retourne
ORACLE SQL : THE ESSENTIAL REFERENCE (EN ANGLAIS)
ORACLE SQL* LOADER : THE DEFINITIVE GUIDE (EN ANGLAIS)
INITIATION A SQL - COURS ET EXERCICES CORRIGES
SQL
MAITRISEZ SQL
KIT DE FORMATION MICROSOFT SQL 
        SERVER 2000 ADMINISTRATION SYSTEME

La commande WHERE pose une condition dans la requête de sélection. L'expression conditionnelle peut être construite à l'aide de plusieurs prédicats constitués d'opérateurs de comparaisons (= | <> | != | > | > = | !> | < | <= | !<)et séparés par des opérateurs booléens AND, OR ou NOT.

select "nom_champ"
FROM "nom_table"
WHERE "condition"
select Livre FROM Librairie WHERE Prix < 200

' retourne
INITIATION A SQL - COURS ET EXERCICES CORRIGES
SQL
SQL

La commande GROUP BY spécifie des groupes dans lesquels les lignes de sortie doivent être placées et calcule une valeur de résumé pour chacun des groupes si des fonctions d'agrégation sont employées avec la commande select.

select nom_champ,
Fonction_Agregation
FROM nom_table
GROUP BY nom_champ2
select Editeur,
SUM(Prix)
FROM Librairie
GROUP BY Editeur

' retourne
O'REILLY 616.00
EYROLLES 183.00
CAMPUSPRESS FRANCE 62.00
WROX PRESS 286.00
ENI 140.00
MICROSOFT PRESS 284.00

La commande HAVING spécifie un critère de recherche pour un groupe ou une fonction d'agrégation. HAVING est génralement utilisé avec GROUP BY, sinon HAVING se comporte à l'instar de WHERE.

select nom_champ,
Fonction_Agregation
FROM nom_table
GROUP BY nom_champ2
HAVING "Condition"
select Editeur,
SUM(Prix)
FROM Librairie
GROUP BY Editeur
HAVING SUM(Prix) > 200

' retourne
O'REILLY 616.00
WROX PRESS 286.00
MICROSOFT PRESS 284.00

Les alias concourrent à améliorer la lisibilité d'une requête. Il existe deux types d'alias : les alias de tables et les alias de champs. Les alias peuvent également s'appliquer à une fonction d'agrégation retournant des données sous forme de colonnes.

select Alias_table.nom_champ Alias_champ
FROM nom_table AS Alias_table
select L.Editeur Edi,
SUM(L.Prix) F
FROM Librairie As L
GROUP BY Edi
HAVING F > 200

' retourne
O'REILLY 616.00
WROX PRESS 286.00
MICROSOFT PRESS 284.00

Les commandes de jointures de tables donnent la possibilité d'appliquer des requêtes sur plusieurs tables d'une base de données.

select tab.nom_champ
FROM nom_table As tab
[INNER | {{LEFT | RIGHT | FULL } [ OUTER]}]
         JOIN  nom_table2 As tab2
ON Condition

La condition de la commande ON permet de comparer les tables jointes par l'intermédiaire de champs dont les valeurs sont identiques et comparables.

INNER JOIN (option par défaut) indique toutes les paires correspondantes des lignes renvoyées et supprime les lignes n'ayant pas de correspondance entre les deux tables.

FULL OUTER JOIN indique qu'une ligne de la table de gauche ou de droite, ne respectant pas la condition de jointure, est comprise dans le jeu de résultats et que les colonnes de sortie correspondant à l'autre table comportent des valeurs NULL.

LEFT OUTER JOIN indique que toutes les lignes de la table de gauche ne respectant pas la condition de jointure sont incluses dans le jeu de résultats, et que les colonnes de sortie de l'autre table ont des valeurs NULL en plus de toutes les lignes renvoyées par la jointure interne.

RIGHT OUTER JOIN indique que toutes les lignes de la table de droite ne respectant pas la condition de jointure sont comprises dans le jeu de résultats, et que les colonnes de sortie correspondant à l'autre table ont des valeurs NULL en plus de toutes les lignes renvoyées par la jointure interne.

Edition
Editeur Adresse URL
O'REILLY http://www.oreilly.com/
CAMPUSPRESS FRANCE http://www.campuspress.fr/
WROX PRESS http://www.wrox.com/
MICROSOFT PRESS http://www.microsoft.com/mspress/
select  L.ISBN, L.Editeur, E.Adresse
FROM Librairie As L
INNER JOIN Edition As E
ON L.Editeur = E.Editeur
' retourne
ISBN Editeur Adresse
1565926978 O'REILLY http://www.oreilly.com/
1565929489 O'REILLY http://www.oreilly.com/
2744009296 CAMPUSPRESS
FRANCE
http://www.campuspress.fr/
2744090034 WROX PRESS http://www.wrox.com/
2840828987 MICROSOFT
PRESS
http://www.microsoft.com/mspress/
select  L.ISBN, L.Editeur, E.Adresse
FROM Librairie As L
LEFT OUTER JOIN Edition As E
ON L.Editeur = E.Editeur
' retourne
ISBN Editeur Adresse
1565926978 O'REILLY http://www.oreilly.com/
1565929489 O'REILLY http://www.oreilly.com/
2212092857 EYROLLES NULL
2744009296 CAMPUSPRESS
FRANCE
http://www.campuspress.fr/
2744090034 WROX PRESS http://www.wrox.com/
2840725029 ENI NULL
2840828987 MICROSOFT
PRESS
http://www.microsoft.com/mspress/

Les fonctions d'agrégation accomplissent un calcul sur plusieurs valeurs et retournent un résultat et sont souvent utilisées avec les commandes GROUP BY et select.

Hormis la fonction COUNT, les fonctions d'agrégation ne tiennent pas compte des valeurs NULL.

Fonction Description
AVG retourne la moyenne des valeurs d'un groupe.
BINARY_CHECKSUM retourne la valeur totale de contrôle binaire calculée à partir d'une ligne d'une table ou d'une liste d'expressions.
CHECKSUM retourne la valeur de checksum calculée dans une ligne d'une table ou dans une liste d'expressions.
CHECKSUM_AGG retourne le checksum des valeurs d'un groupe.
COUNT retourne le nombre d'éléments figurant dans un groupe.
COUNT_BIG retourne le nombre d'éléments figurant dans un groupe.
MAX retourne la valeur maximale de l'expression.
MIN retourne la valeur minimale de l'expression.
SUM retourne la somme de toutes les valeurs
STDEV retourne l'écart type de toutes les valeurs de l'expression spécifiée.
STDEVP retourne l'écart type de remplissage pour toutes les valeurs de l'expression spécifiée.
var retourne la variance de toutes les valeurs de l'expression spécifiée.
VARP retourne la variance de remplissage pour toutes les valeurs de l'expression spécifiée.
select COUNT(Livre)
FROM Librairie

' retourne
7

SELECT SUM(Prix)
FROM Librairie

' retourne
1 571