Comment utiliser SQL SELECT et SELECT DISTINCT

Structured Query Language (SQL) est le langage de programmation standard utilisé pour communiquer avec les bases de données relationnelles. Étant donné que l’utilisation des données dans les entreprises augmente à un rythme effréné, la demande de personnes qui comprennent SQL, les bases de données relationnelles et la gestion des données augmente.

L’American National Standards Institute établit SQL comme norme pour la gestion des bases de données relationnelles, afin que les programmeurs et les administrateurs puissent apprendre un seul langage qui fonctionne avec seulement des ajustements mineurs sur une grande variété de plates-formes, d’applications et de produits de bases de données. Si vous cherchez à faire carrière dans la programmation ou la gestion de bases de données ou si vous souhaitez mieux comprendre le fonctionnement de votre site Web ou des bases de données de votre entreprise, SQL est un langage important à apprendre.

Binaire, Mains, Clavier, Appuyez, Entrez, Entrée, Magasin, Un

SQL est un langage avec une syntaxe qui lui est propre, composé d’instructions, de clauses et d’autres éléments de code tels que des opérateurs qui établissent des paramètres pour limiter la requête. Une instruction SQL est un morceau de code complet qui va à un système de gestion de base de données, ou SGBD, afin d’exécuter une variété de fonctions sur les données contenues dans la base de données. Vous pouvez demander des informations spécifiques à partir de la base de données en écrivant une requête, qui est une instruction qui renvoie ou fournit les informations souhaitées à partir des tables de la base de données. L’instruction SELECT est l’opération la plus courante dans SQL, car elle spécifie les données à renvoyer de la base de données.

L’instruction SELECT et sa signification

Les instructions SELECT sont fréquemment appelées Data Query Language (DQL) dans SQL. Dans les bases de données relationnelles, vous stockez les données sous forme de table – sous des colonnes et des lignes définies par l’utilisateur – et ces tables sont remplies avec l’instruction INSERT. La commande SELECT fonctionne avec la clause FROM pour récupérer ou extraire des informations des tables de la base de données et les présenter de manière organisée et lisible.

Le mot-clé SELECT dans la requête indique les lignes et les colonnes que vous souhaitez afficher comme ensemble de résultats d’une requête. À l’aide de l’instruction SELECT, vous pouvez spécifier les valeurs qui correspondent aux lignes de la table que vous souhaitez que la requête renvoie.

Dans sa forme la plus simple, l’instruction SELECT doit contenir les éléments suivants : une clause SELECT qui spécifie les colonnes contenant les valeurs correspondant à la requête et une clause FROM qui spécifie la TABLE contenant les colonnes répertoriées dans la clause SELECT.

L’instruction SELECT peut également contenir de nombreuses clauses facultatives qui affinent la requête et renvoient des résultats précis. Les clauses couramment utilisées incluent :

  • OÙ. La commande SQL WHERE spécifie les lignes à récupérer.
  • PAR GROUPE. La commande SQL GROUP BY regroupe les lignes qui partagent une propriété afin qu’une fonction d’agrégation s’applique à chaque groupe.
  • AYANT. La commande SQL HAVING sélectionne des fonctionnalités spécifiques parmi les groupes définis par la clause GROUP BY.
  • COMME. La commande SQL AS fournit un alias pour renommer temporairement des tables ou des colonnes.
  • COMMANDE. La commande SQL ORDER classe les résultats de la requête en fonction d’une clé donnée, telle que la clé primaire. La clause ORDER BY peut être très utile pour organiser les résultats.

La syntaxe de base d’une instruction SELECT ressemble à ceci :

SÉLECTIONNER [column 1, column 2, …] FROM table_source ;

Pour afficher toutes les colonnes d’une table dans le jeu de résultats, utilisez le symbole « * » après SELECT. De même, vous pouvez définir d’autres indicateurs tels que l’option de ne renvoyer que des lignes uniques (avec le modificateur UNIQUEMENT UNIQUE).

Combinaison des instructions SQL SELECT et INSERT

Une instruction INSERT contenant une instruction SELECT imbriquée vous permet de remplir rapidement une table avec une ou plusieurs lignes à partir du jeu de résultats de la commande SELECT. Vous pouvez insérer plusieurs enregistrements de cette manière, comme ceci :

INSERT INTO table (column1, column2, … ) SELECT expression1, expression2, … FROM sources_tables WHERE conditions ;

La syntaxe de cette instruction contient plusieurs paramètres :

  • « table » est la table dans laquelle vous devez insérer le jeu de résultats d’enregistrements.
  • « column1, column2 » nomme les colonnes dans les tables où vous placez les valeurs.
  • « expression1, expression2 » sont les valeurs à affecter aux colonnes de la table.

Cela signifie que « column1 » aura la valeur de « expression1 », « column2 » aura la valeur de « expression2 », etc. Les points de suspension, ou triples points, après chacun de ces éléments indiquent que l’opération s’appliquera aux autres colonnes et expressions de la série :

  • « tables sources » indiquent la table source lors de l’insertion de données provenant d’une autre table.
  • les « conditions » sont les conditions qui doivent être remplies pour insérer correctement les enregistrements.

Lorsque vous effectuez des insertions, vous pouvez également utiliser des mots clés courants tels que l’incrémentation automatique (qui crée une clé d’incrémentation automatique).

L’instruction SQL SELECT INTO

L’instruction SELECT INTO sélectionne les données d’une table et les insère dans une nouvelle table. Vous pouvez choisir une ou plusieurs colonnes, ou toutes les colonnes, à copier dans la nouvelle table. Si vous souhaitez copier toutes les colonnes, utilisez le « * » après l’instruction SELECT. La syntaxe de cette instruction ressemble à ceci :

SELECT * INTO nouvelle table [IN externaldb] DE table1

La syntaxe de cette instruction comprend quatre paramètres.

  • SELECT* INTO sélectionne toutes les colonnes de la première table.
  • « newtable » nomme la destination des colonnes sélectionnées.
  • « externaldb » nomme la base de données source.
  • « table1 » est la table source dans la base de données externe.

Voici un exemple d’instruction SQL SELECT INTO qui crée une copie d’une table entière de fournisseurs dans le serveur SQL :

SELECT * INTO Vendorcopy2014 FROM Fournisseurs ;

Mais si nous voulons copier uniquement des colonnes spécifiques dans la nouvelle table, nous entrerons :

SÉLECTIONNER [column 1, column 3, ….] INTO nouvelletable FROM table1 ;

Cette instruction générera une table entièrement nouvelle avec les noms et types de colonnes définis dans l’opérateur SELECT. Par exemple, supposons que nous voulions copier uniquement les colonnes « Nom du fournisseur » et « Nom du pays » dans la nouvelle table. Cette déclaration ressemble à ceci :

SELECT VendorName, CountryName INTO Vendorcopy2014 FROM Fournisseurs ;

L’instruction SQL SELECT DISTINCT

La clause DISTINCT est utilisée dans une instruction SELECT pour supprimer les doublons du jeu de résultats de la requête. Voici la syntaxe de cette instruction :

SELECT expressions DISTINCT FROM tables WHERE conditions ;

Cette instruction inclut ces paramètres :

  • les « expressions » sont les colonnes ou les calculs que vous souhaitez récupérer
  • Les « tables » sont les tables à partir desquelles vous souhaitez récupérer des enregistrements – vous devez répertorier au moins une table dans la clause FROM.
  • « conditions » nomme les conditions qui doivent être remplies pour sélectionner les enregistrements

Si vous ne souhaitez pas supprimer les données en double, ou si vous êtes sûr qu’il n’y aura pas de doublons dans le jeu de résultats, vous pouvez utiliser ALL au lieu de DISTINCT. Mais ALL est le mot-clé par défaut dans les instructions SQL, nous l’omettons donc généralement des instructions de requête.

Conclusion

Ce didacticiel fournit une vue d’ensemble de l’instruction SQL SELECT et des clauses associées, mais il reste encore beaucoup à explorer. Jetez un œil à notre blog qui met en évidence les commandes SQL les plus utiles pour apprendre à écrire des requêtes SQL de base et d’autres instructions de code. Au fur et à mesure que vous développez les connaissances et les compétences nécessaires pour devenir administrateur et développeur de bases de données, vous devrez commencer à écrire du code SQL personnalisé afin de répondre aux exigences des utilisateurs aussi efficacement que possible.

Si vous voulez un autre regard en profondeur sur un autre des opérateurs les plus importants de SQL, passons à la commande INSERT INTO.