Database
 sql >> Base de données >  >> RDS >> Database

Commandes SQL Basic :Comment écrire des requêtes simples avec des exemples

Cet article explique écrire des requêtes SQL simples à partir des plus basiques et améliorer progressivement le script pour résoudre certains problèmes mathématiques et liés à la date. De plus, nous allons clarifier les concepts entourant les requêtes SQL.

Bien que cet article soit principalement destiné aux débutants, il contient des conseils qui seront utiles quel que soit le niveau d'expérience.

Qu'est-ce que la requête SQL dans la base de données ?

Parlons d'abord un peu des requêtes SQL pour bien les comprendre avant d'acquérir une expérience pratique de l'écriture.

SQL signifie langage de requête structuré c'est un langage essentiel utilisé pour interroger les bases de données relationnelles.

T-SQL vs SQL – Quelle est la différence ?

T-SQL ou Transact-SQL est la version Microsoft de SQL avec plus de fonctions et de fonctionnalités que le langage SQL traditionnel également connu sous le nom de ANSI SQL.

Par conséquent, T-SQL est un langage SQL traditionnel auquel s'ajoutent d'autres éléments ajoutés par Microsoft. Il est plus couramment utilisé et mentionné lorsque nous parlons de SQL.

Cet article fera référence à la version Microsoft SQL, que nous utilisions le mot SQL ou T-SQL.

Pourquoi utilisons-nous l'interrogation SQL dans une base de données relationnelle ?

Une base de données relationnelle est une base de données avec des clés utilisées pour connecter des tables plutôt que de connecter des tables physiquement.

Par exemple, vous avez une table appelée Livre que vous liez à une autre table appelée BookType via des touches pour ajouter plus de significations aux enregistrements.

Les tables de l'illustration sont liées par une clé. Il n'est pas nécessaire de les connecter physiquement. C'est la règle fondamentale des bases de données relationnelles - vous créez des relations entre les deux tables à l'aide de clé(s).

Lire aussi base de données relationnelle vs NoSQL – que choisir pour la gestion du big data ?

Qu'est-ce que l'interrogation d'une base de données ?

Vous interrogez la base de données pour obtenir des réponses aux questions liées à cette base de données. En d'autres termes, vous écrivez des requêtes sur une base de données pour obtenir des informations sur les données qu'elle contient.

Par exemple, vous souhaitez afficher tous les enregistrements de livres ainsi que leurs types dans la base de données particulière. Vous devez interroger cette base de données pour afficher les données requises. Pour cela, vous devez écrire et exécuter un script sur la base de données.

De quoi avez-vous besoin pour effectuer une requête ?

Quelques prérequis doivent être présents pour interroger une base de données car nous ne pouvons pas simplement écrire et exécuter une requête n'importe où sur quoi que ce soit.

Les éléments suivants sont obligatoires pour interroger une base de données :

  1. Un serveur de base de données tel que SQL Server (installé localement ou à distance) sur lequel vous stockez la base de données.
  2. Un outil de gestion de base de données tel que SQL Server Management Studio ou dbForge Studio pour SQL Server que vous utiliserez pour écrire et exécuter vos requêtes
  3. Une base de données sur laquelle vous exécutez vos requêtes. Vous pouvez créer n'importe quel exemple de base de données à des fins d'apprentissage.

En outre, vous devez avoir une compréhension de base de votre base de données, par exemple quelle table contient les informations souhaitées, etc. La compréhension des concepts de bases de données relationnelles est également un plus.

Nous supposons que vous avez déjà satisfait aux exigences ci-dessus. Mais vous pouvez également vous référer à l'article suivant pour plus de détails :

Bases de SQL Server Management Studio (SSMS) - Partie 1

Choses à faire avant d'écrire des requêtes en SQL

Nous allons maintenant écrire des requêtes SQL simples.

Veuillez configurer l'environnement pour commencer à écrire vos requêtes SQL. Préparez les outils. Ouvrez dbForge Studio pour SQL Server ou SQL Server Management Studio et connectez-vous à l'instance SQL. Ici, nous commençons notre parcours SQL :

Une fois la connexion établie, appuyez sur CTRL+N ou allez dans Fichier > Nouveau > Requête avec la connexion actuelle :

Maintenant, vous êtes connecté avec succès au maître (base de données système) du serveur actuellement connecté.

Conseil important : Créez toujours un exemple de base de données pour y exécuter vos requêtes (scripts). Exécuter des requêtes sur les bases de données du système n'est pas une bonne pratique, sauf dans trois cas :

  1. Vous travaillez avec un exemple de base de données, puis le script créé pour celui-ci s'exécutera sur la base de données système (maître).
  2. Vous interrogez la base de données principale exprès pour en extraire des informations.
  3. Les requêtes peuvent être exécutées en toute sécurité sur la base de données système (maître).

Configurer un exemple de base de données

Créons un exemple de base de données appelé BookSimple sans aucun tableau. Écrivez le script suivant sur la base de données principale pour créer un exemple de base de données et appuyez sur F5 pour exécuter la requête :

-- Create sample database BookSimple
USE MASTER
GO

CREATE DATABASE BookSimple
GO

USE BookSimple

Le concept basé sur les ensembles derrière les requêtes SQL

Juste avant d'écrire la requête SQL la plus simple, vous devez comprendre que SQL est un langage basé sur des ensembles.

Cela signifie que lorsque vous souhaitez interroger votre base de données à l'aide de SQL, vous devez penser en termes d'ensembles ou de groupes.

SQL est par conception et par défaut très efficace pour servir les requêtes basées sur des ensembles. Si vous concevez vos scripts (requêtes) en gardant à l'esprit la logique basée sur les ensembles, vous comprenez et implémentez SQL plus rapidement que ceux qui suivent le chemin d'apprentissage typique (qui a ses propres avantages).

Pensons à un ensemble naturel, tel qu'une classe ou un groupe. Lorsque nous nous référons à une classe, nous nous référons à tous les élèves de cette classe. SQL peut aider à interroger cette classe dans son ensemble.

De même, un Livre est une table de livres. Il contient tous les enregistrements pour les livres. Nous pouvons simplement interroger cette table comme si nous parlions d'un seul livre, mais, en fait, nous interrogeons toute la table des livres représentée par le Livre tableau.

Nous verrons plus d'avantages du concept basé sur les ensembles plus tard lorsque nous explorerons quelques exemples de base.

Instruction SQL SELECT simple

SELECT est une instruction T-SQL qui récupère toutes ou certaines lignes et colonnes (en fonction d'un critère) d'une base de données.

En d'autres termes, SELECT nous permet de visualiser (sélectionner) les données d'une table ou d'un certain nombre de tables en fonction de certains critères, qui, s'ils ne sont pas mentionnés de manière générale, montrent toutes les données.

Par conséquent, SELECT est la première instruction à rechercher si nous voulons récupérer des lignes et des colonnes à partir d'une base de données. La forme la plus simple de la syntaxe SELECT est la suivante :

SELECT * FROM <Table>

N'oubliez pas que nous modifierons la syntaxe avec le temps pour améliorer progressivement le processus d'apprentissage.

Une autre façon d'utiliser l'instruction SELECT est la suivante :

SELECT <Expression>

L'expression peut être plusieurs choses, y compris les suivantes :

  1. Constante (comme un nombre fixe comme 1).
  2. Variable (telle que @X qui peut être remplacée par n'importe quel nombre).
  3. Combinaison de constantes ou de variables (telles que 1+2 ou @X [email protected]).

Cependant, que vous utilisiez SELECT ou SELECT * FROM

, vous devez penser en termes d'ensembles.

Comment écrire une requête SQL simple

Interrogeons le BookSimple base de données en actualisant les Bases de données nœud sous Explorateur d'objets. Faites un clic droit sur BookSimple > Nouvelle requête  :

Notez la requête SQL la plus simple - écrivez et exécutez le script suivant sur l'exemple de base de données :

-- Display 1
SELECT 1

L'exécution de la requête (en appuyant sur F5) affichera les résultats suivants :

Ainsi, SELECT 1 renvoie 1, mais avec une colonne sans nom (Aucun nom de colonne).

1 est une constante. Il restera 1, nous nous attendons donc à ce que le résultat soit également 1. Cependant, il y a encore une chose importante à comprendre :notre sortie est convertie en un ensemble de 1 colonne et 1 ligne. Puisque nous n'avons fourni aucun nom à la colonne et qu'il n'y a pas de table impliquée (d'où obtenir le nom), nous obtenons la valeur 1 pour une colonne sans nom d'une table sans nom (ensemble).

Le langage basé sur les ensembles a automatiquement renvoyé notre valeur fournie à une colonne sans nom d'une table sans nom ayant une ligne.

Nommons la colonne en modifiant le script comme suit :

-- Show value 1 for the column Number of an unnamed table (set)
SELECT 1 AS Number

Exécutez le script pour voir le jeu de résultats suivant cette fois :

Étant donné que cette requête renvoie toujours la même valeur (nombre) que celle que nous avons saisie (fournie), il n'y a pas grand-chose à discuter à part comprendre pourquoi la pensée basée sur les ensembles est essentielle pour comprendre le fonctionnement des requêtes.

Calcul dans l'instruction Select

Utilisons le cas ci-dessus pour des calculs rapides en SQL - nous transformons la valeur unique en une expression.

Par exemple, nous voulons ajouter rapidement deux nombres 1000 et 200. Nous pouvons simplement écrire la requête suivante sans mentionner de table en utilisant uniquement l'instruction SELECT :

-- Adding two numbers 1000 and 200 
SELECT 1000+200 AS [Sum Of 1000 And 200]

Le résultat est ci-dessous :

De même, nous pouvons additionner, multiplier, diviser et soustraire des nombres.

Il est utile d'ajouter deux colonnes d'un tableau contenant des valeurs numériques. Cependant, nous pouvons également utiliser cette approche pour ajouter deux variables. L'utilisation de variables est bénéfique car nous pouvons ajouter deux nombres quelconques en initialisant ces variables avec les valeurs souhaitées. Ceci est illustré par le script suivant :

-- SQL script to add any two numbers
DECLARE @X INT, @Y INT, @Addition INT

SET @X=550 -- Initialise variable X with a value (number)
SET @Y=350 -- Initialise variable Y with a value (number)
 
SET @[email protected]@sqldat.com -- SUM X and Y

SELECT @X AS FirstNumber_X,@Y as SecondNumber_Y,@Addition as SumOfNumbers

L'exécution du script nous montre la sortie suivante :

Nous pouvons enregistrer cette requête pour la réutiliser à tout moment pour ajouter deux nombres (en modifiant les valeurs de @X et @Y). Si nous pensons à cela en termes d'ensemble, nous pouvons dire que la sortie est renvoyée sous la forme d'un tableau sans nom (ensemble) avec une ligne et les trois colonnes suivantes :

  1. FirstNumber_X
  2. SecondNumber_Y
  3. SumOfNumbers

Cependant, vous pouvez faire plus avec SELECT avec une base de données vide (n'ayant pas de tables).

Un autre exemple de calcul de données

Ici, nous allons utiliser la fonction GETDATE() pour récupérer la date actuelle et la date de livraison prévue d'une commande inconnue qui ne fait pas encore partie de notre table.

Supposons que nous n'ayons pas encore de tableau de commande, mais nous voulons calculer rapidement une date de livraison de commande de produit prévue. Si nous ajoutons un nombre à la fonction GETDATE(), elle nous indiquera la date ajoutée avec le nombre de jours fourni.

En d'autres termes, si nous attendons la date de livraison de la commande deux jours après la passation de la commande, nous pouvons la calculer en utilisant SELECT avec GETDATE()+2.

Pour le voir en action, exécutez le script SQL suivant :

-- Calculating order date and expected delivery date
SELECT GETDATE() AS [Order Date],GETDATE()+2 as [Expected Delivery Date]

Le jeu de résultats est le suivant :

Cette fois, nous avons pu calculer la date de livraison prévue de la commande directement à l'aide de l'instruction SELECT avec la fonction GETDATE() en l'absence de table.

Cependant, si nous avions un tableau, nous aurions obtenu la date de livraison prévue pour toutes les commandes de ce tableau.

Encore une fois, si nous analysons cette sortie en termes de Set Logic, nous avons une table sans nom (set) avec deux colonnes et une ligne. SQL est un langage basé sur des ensembles qui fonctionne très rapidement avec des ensembles, tels que des tables. Si les tables ne sont pas là, il traite les valeurs d'entrée (à traiter) comme des ensembles sans nom.

En bref, une requête SQL nécessite une instruction SELECT suivie d'une expression pour effectuer des calculs basés sur des nombres ou des dates, même sur une base de données vide (pas de tables).

Toutes nos félicitations! Vous avez appris les bases des requêtes SQL et écrit quelques requêtes simples à l'aide de l'instruction SELECT sur un exemple de base de données.

Restez en contact, car l'écriture de requêtes SQL simples sur les tables de la base de données reste à venir.

Éléments à apprendre pour mieux écrire des requêtes SQL

Maintenant que vous savez écrire quelques requêtes SQL de base, essayez les exercices suivants :

  1. Créer un exemple de base de données BookSimple2.
  2. Créez une requête pour multiplier deux nombres quelconques en les définissant comme des variables.
  3. Écrivez une requête pour créer une date de commande comme date actuelle, la date d'expédition comme deux jours après la date de commande et la date de livraison prévue comme deux jours après la date d'expédition.