Tutoriel SQL Server - Tout ce dont vous avez besoin pour maîtriser Transact-SQL

Cet article sur le didacticiel SQL Server est un guide complet sur les différents concepts, syntaxe et commandes utilisés dans MS SQL Server.

Sur le marché actuel, où une énorme quantité de données est générée chaque jour, il est très important de comprendre comment gérer les données. SQL Server est un environnement intégré développé par Microsoft pour gérer les données.Dans cet article sur le didacticiel SQL Server, vous apprendrez toutes les opérations et commandes dont vous avez besoin pour explorer vos bases de données.



Pour votre meilleure compréhension, j'ai divisé le blog dans les catégories suivantes:



Commandes La description

Commandes du langage de définition de données (DDL)

Cet ensemble de commandes est utilisé pour définir une base de données.

Commandes du langage de manipulation de données (DML)



Les commandes de manipulation permettent de manipuler les données présentes dans la base de données.

Commandes du langage de contrôle des données (DCL)

Cet ensemble de commandes traite des autorisations, des droits et d'autres contrôles des systèmes de base de données.

Commandes du langage de contrôle des transactions (TCL)

Ces commandes sont utilisées pour traiter la transaction de la base de données.

Outre les commandes, les sujets suivants sont traités dans cet article:



MS SQL Server - Tutoriel SQL Server - Edureka

  1. Qu'est-ce que SQL Server?
  2. Installez SQL Server
  3. Connectez-vous à SQL Server à l'aide de SSMS
  4. Accéder au moteur de base de données
  5. Architecture SQL Server
  6. Commentaires en SQL
  7. Types de données SQL Server
  8. Clés dans la base de données
  9. Contraintes dans la base de données
  10. Les opérateurs
  11. Fonctions d'agrégation
  12. Fonctions définies par l'utilisateur
  13. Requêtes imbriquées
  14. Rejoint
  15. Boucles
  16. Procédures stockées
  17. Gestion des exceptions

***REMARQUE*** Dans ce didacticiel SQL Server, je vais considérer la base de données ci-dessous commeun exemple, pour vous montrer comment apprendre et écrirecommandes.

Carte d'étudiant Nom d'étudiant Nom du parent Numéro de téléphone Adresse Ville Pays
unje détesteAkriti mehra9955339966Barrage routier 9 de la brigadeHyderabadInde
2ManasaShourya Sharma9234568762Route Mayo 15CalcuttaInde
3AnaySoumya Mishra9876914261Maison Marathalli n ° 101BengaluruInde
4PreetiRohan Sinha9765432234Queens Road 40DelhiInde
5ShanayaAbhinay agarwal987896906821 rue OberoiBombayInde

Avant de commencer à comprendre les différentes commandes utilisées dans SQL Server, voyons ce qu'est SQL Server, son architecture et comment l'installer.

Qu'est-ce que SQL Server?

Microsoft SQL Server est un outil relationnel système de gestion de base de données . Il prend en charge le Langage de requêtes structurées et est livré avec sa propre implémentation du langage SQL qui est le Transact-SQL (T-SQL) . Il dispose d'un environnement intégré pour gérer les bases de données SQL, qui est le .

Les principaux composants de SQL Server sont les suivants:

  • Moteur de base de données: Ce composant gère le stockage, le traitement rapide des transactions et la sécurisation des données.
  • Serveur SQL - Ce service est utilisé pour démarrer, arrêter, mettre en pause et continuer l'instance de MS SQL Server.
  • Agent SQL Server - Le service Server Agent joue le rôle de planificateur de tâches et est déclenché par tout événement ou selon l'exigence.
  • Navigateur SQL Server - Ce service est utilisé pour connecter la demande entrante à l'instance SQL Server souhaitée.
  • Recherche en texte intégral SQL Server - Utilisé pour permettre à l'utilisateur d'exécuter des requêtes de texte intégral sur les données de caractères dans les tables SQL.
  • Enregistreur VSS SQL Server - Permet les sauvegardes et la restauration des fichiers de données lorsque SQL Server ne s'exécute pas.
  • SQL Server Analysis Services (SSAS) - Ce service est utilisé pour fournir l'analyse de données, l'exploration de données et capacités. Le serveur SQL est également intégré à et R pour une analyse avancée des données.
  • SQL Server Reporting Services (SSRS) - Comme son nom l'indique, ce service est utilisé pour fournir des fonctionnalités et des capacités de prise de décision, y compris l'intégration avec .
  • Services d'intégration SQL Server (SSIS) - Ce service est utilisé pour effectuer les opérations ETL pour différents types de données provenant de plusieurs sources de données.

Maintenant que vous savez ce qu'est MS SQL Server, laissez-nous avancer dans cet article sur le didacticiel SQL Server et comprendre comment installer et configurer SQL Server.

Installez SQL Server

Suivez les étapes ci-dessous pour installer SQL Server:

Étape 1: Accédez à la page officielle de Téléchargement de Microsoft SQL Server , où vous trouverez la possibilité d'installer SQL Server sur site ou sur le cloud.

Étape 2: Maintenant, faites défiler vers le bas et vous verrez deux options: Édition développeur et entreprise . Ici, je vais télécharger le Édition développeur . Pour télécharger, il vous suffit de cliquer sur le Télécharger maintenant option. Reportez-vous ci-dessous.

Étape 3: Une fois l'application téléchargée, double-cliquez sur le fichier et vous verrez la fenêtre suivante.

Étape 4: Maintenant, vous pouvez choisir l'une des 3 options pour configurer SQL Server. Ici, je vais juste choisir le Option de base . En sélectionnant l'option du type d'installation, l'écran suivant serait d'accepter le contrat de licence. Pour ce faire, cliquez sur J'accepte dans la fenêtre suivante.

Étape 5: Ensuite, vous devez spécifier l'emplacement d'installation de SQL Server. Ensuite, vous devez cliquer sur Installer.

Une fois que vous cliquez sur Installer , vous verrez que les packages requis sont téléchargés. Maintenant, une fois l'installation terminée, vous verrez l'écran suivant:

Ici, vous pouvez soit avancer et cliquer sur Se connecter maintenant, soit personnaliser l'installation. Pour votre meilleure compréhension, je vais aller de l'avant et choisir Personnaliser.

Étape 6: Une fois que vous cliquez sur Personnaliser dans la fenêtre ci-dessus, vous verrez l'assistant suivant s'ouvrir. dans la fenêtre suivante, cliquez sur Suivant.

Étape 7: Une fois les règles installées automatiquement, cliquez sur Suivant . Reportez-vous ci-dessous.

Étape 8: Ensuite, vous devez choisir le type d'installation. Alors, choisissez le Effectuer un nouvelle installation de SQL Server 2017 option puis cliquez sur Suivant.

Étape 9: Dans l'assistant qui s'ouvre, choisissez l'édition: Développeur. Ensuite, cliquez sur Suivant . Reportez-vous ci-dessous.

Étape 10: Maintenant, lisez et acceptez les accords de licence en enregistrant le bouton radio, puis en cliquant sur Suivant . Reportez-vous ci-dessous.

Étape 11: Dans l'assistant ci-dessous, vous pouvez choisir les fonctionnalités que vous souhaitez installer. En outre, vous pouvez choisir le répertoire racine de l'instance, puis cliquer sur Suivant . Ici, je vais choisir le Services de moteur de base de données .

Étape 12: Ensuite, vous devez nommer l'instance et automatiquement l'ID d'instance sera créé. Ici, je nommerai l'instance «edureka». Ensuite, cliquez sur Suivant.

Étape 13: Dans l'assistant de configuration du serveur, cliquez sur Suivant .

Étape 14: Maintenant, vous devez activer les modes d'authentification. Ici, vous verrez le Mode d'authentification Windows et Mode mixte . Je vais choisir le mode mixte. Ensuite, mentionnez le mot de passe et j'ajouterai l'utilisateur actuel comme Administrateur en choisissant le Ajouter l'utilisateur actuel option.

Étape 15: Ensuite, choisissez le chemin du fichier de configuration et cliquez sur Installer .

Une fois l'installation terminée, vous verrez l'écran suivant:

Connectez-vous à SQL Server à l'aide de SSMS

Une fois le serveur SQL installé, l'étape suivante consiste à connecter le serveur SQL à SQL Server Management Studio. Pour ce faire, suivez les étapes ci-dessous:

Étape 1: Revenez à la fenêtre suivante et cliquez sur le installer SSMS option.

Étape 2: Une fois que vous avez cliqué sur cette option, vous serez redirigé vers le page suivante , où vous devez choisir Téléchargez SSMS.

Étape 3: Une fois la configuration téléchargée, double-cliquez sur l'application et vous verrez l'assistant suivant s'ouvrir.

Étape 4: Cliquer sur Option d'installation , dans la fenêtre ci-dessus et vous verrez que cette installation commencera.

Étape 5: Une fois l'installation terminée, vous obtiendrez une boîte de dialogue comme indiqué ci-dessous.

Après avoir installé le SSMS, l'étape suivante consiste à accéder au Moteur de base de données .

Accéder au moteur de base de données

Lorsque vous ouvrez le Studio de gestion de serveur SQL du le menu Démarrer , une fenêtre s'ouvrira semblable à la fenêtre montrée dans l'image ci-dessous.

Ici, mentionnez le nom du serveur, le mode d'authentification et cliquez sur Relier.

Après avoir cliqué sur Relier , Vous verrez l'écran suivant.

Eh bien, c'est ainsi que vous installez et configurez SQL Server. Maintenant, dans ce tutoriel SQL Server, laissez-nous comprendre les différents composants de l'architecture de SQL Server.

Architecture SQL Server

L'architecture de SQL Server est la suivante:

  • Serveur & moins C'est là que les services SQL sont installés et la base de données réside
  • Moteur relationnel & minus Contient l'analyseur de requêtes, l'optimiseur et l'exécuteur et l'exécution se produit dans le moteur relationnel.
  • Analyseur de commandes & minus Vérifie la syntaxe de la requête et convertit la requête en langage machine.
  • Optimiseur & minus Prépare le plan d'exécution comme sortie en prenant les statistiques, la requête et l'arborescence de l'algèbre comme entrée.
  • Exécuteur de requêtes & moins C'est l'endroit où les requêtes sont exécutées étape par étape
  • Moteur de stockage & moins Il est responsable du stockage et de la récupération des données sur le système de stockage, de la manipulation des données, de la gestion et du verrouillage des transactions.

Maintenant que vous savez comment configurer et installer SQL Server et ses différents composants, commençons par écrire Serveur. Mais avant cela, permettez-moi de vous expliquer comment écrire des commentaires dans SQL Server.

Commentaires dans SQL Server

Il existe deux façons de commenter en SQL, c'est-à-dire soit d'utiliser s commentaires en ligne ou la m commentaires ulti-line .

Commentaires sur une seule ligne

Les commentaires sur une seule ligne commencent par deux tirets (-). Par conséquent, le texte mentionné après (-), jusqu'à la fin d'une seule ligne sera ignoré par le compilateur.

Exemple:

- Exemple de commentaires sur une seule ligne

Commentaires sur plusieurs lignes

Les commentaires sur plusieurs lignes commencent par / * et se terminent par * / . Par conséquent, le texte mentionné entre / * et * / sera ignoré par le compilateur.

Exemple:

/ * Exemple de commentaires sur plusieurs lignes * /

Maintenant, dans cet article sur le didacticiel SQL Server, commençons par le premier ensemble de commandes, à savoir les commandes du langage de définition de données.

Commandes du langage de définition de données

Cette section de l'article vous donnera une idée des commandes à l'aide desquelles vous pouvez définir votre base de données. Les commandes sont les suivantes:

CRÉER

Cette instruction est utilisée pour créer une table, une base de données ou une vue.

La déclaration «CREATE DATABASE»

Cette instruction est utilisée pour créer une base de données.

Syntaxe

CREATE DATABASE DatabaseName

Exemple

CRÉER DES ÉTUDIANTS DE BASE DE DONNÉES

La ' CRÉER UNE TABLE 'Déclaration

Comme son nom l'indique, cette instruction est utilisée pour créer une table.

Syntaxe

CREATE TABLE TableName (type de données Colonne1, type de données Colonne2, type de données Colonne3, .... type de données ColonneN)

Exemple

CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

LAISSEZ TOMBER

Cette instruction est utilisée pour supprimer une table, une base de données ou une vue existante.

La déclaration «DROP DATABASE»

Cette instruction est utilisée pour supprimer une base de données existante. Les informations complètes présentes dans la base de données seront perdues dès que vous exécuterez la commande ci-dessous.

Syntaxe

DROP DATABASE DatabaseName

Exemple

Élèves DROP DATABASE

La déclaration «DROP TABLE»

Cette instruction est utilisée pour supprimer une table existante. Les informations complètes présentes dans le tableau seront perdues dès que vous exécuterez la commande ci-dessous.

Syntaxe

DROP TABLE TableName

Exemple

DROP TABLE StudentInfo

ÂGE

La commande ALTER est utilisée pour ajouter, supprimer ou modifier des colonnes ou des contraintes dans une table existante.

La ' MODIFIER TABLE 'Déclaration

Cette instruction est utilisée pour ajouter, supprimer, modifier des colonnes dans une table préexistante.

Instruction «ALTER TABLE» avec ADD / DROP COLUMN

L'instruction ALTER TABLE est utilisée avec la commande ADD / DROP Column pour ajouter et supprimer une colonne.

Syntaxe

ALTER TABLE TableName ADD ColumnName Type de données ALTER TABLE TableName DROP COLUMN ColumnName

Exemple

--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup

Instruction «ALTER TABLE» avec ALTER COLUMN

L'instruction ALTER TABLE peut être utilisée avec la colonne ALTER pour modifier le type de données d'une colonne existante dans une table.

java comment l'utiliser

Syntaxe

ALTER TABLE TableName ALTER COLUMN ColumnName Type de données

Exemple

--Ajoutez une colonne DOB et changez le type de données de date à datetime. ALTER TABLE StudentInfo ADD DOB date ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

TRONQUER

Cette commande SQL permet de supprimer les informations présentes dans la table mais ne supprime pas la table elle-même. Ainsi, si vous souhaitez supprimer les informations présentes dans la table, et ne pas supprimer la table elle-même, vous devez utiliser la commande TRUNCATE. Sinon, utilisez la commande DROP.

Syntaxe

TABLEAU TRUNCATE TableName

Exemple

TABLE DES TRONCONS StudentInfo

RENOMMER

Cette instruction est utilisée pour renommer une ou plusieurs tables.

Syntaxe

sp_rename 'OldTableName', 'NewTableName'

Exemple

sp_rename 'StudentInfo', 'Infostudents'

Dans cet article sur le didacticiel SQL Server, laissez-nous comprendre les différents types de données pris en charge par SQL Server.

Types de données SQL Server

Catégorie de type de données Nom du type de données La description Plage / Syntaxe
Chiffres exacts numériqueUtilisé pour stocker des valeurs numériques et avoir des nombres de précision et d'échelle fixes- 10 ^ 38 +1 à 10 ^ 38-1.
minusculeUtilisé pour stocker des valeurs entières0 à 255
smallintUtilisé pour stocker des valeurs entières-2 ^ 15 (-32 768) à 2 ^ 15-1 (32 767)
bigintUtilisé pour stocker des valeurs entières-2 ^ 63 (-9,223,372,036,854,775,808) à 2 ^ 63-1 (9,223,372,036,854,775,807)
intUtilisé pour stocker des valeurs entières-2 ^ 31 (-2 147 483 648) à 2 ^ 31-1 (2 147 483 647)
bitStocke un type de données entier qui contient une valeur de 0, 1 ou NULL0, 1 ou NULL
décimalUtilisé pour stocker des valeurs numériques et avoir des nombres de précision et d'échelle fixes- 10 ^ 38 +1 à 10 ^ 38-1.
petit argentUtilisé pour stocker de l'argentou les valeurs monétaires.- 214.748.3648 à 214.748.3647
argentUtilisé pour stocker de l'argentou les valeurs monétaires.-922.337.203.685.477.5808 à 922.337.203.685.477.5807 (-922.337.203.685.477,58
au 922 337 203 685 477,58 pour Informatica.
Chiffres approximatifs flotteUtilisé pour stocker des données numériques à virgule flottante- 1,79E + 308 à -2,23E-308, 0 et 2,23E-308 à 1,79E + 308
réelUtilisé pour stocker des données numériques à virgule flottante- 3.40E + 38 à -1.18E - 38, 0 et 1.18E - 38 à 3.40E + 38
Date et l'heure DateUtilisé pour définir une date dans SQL Server.Syntaxe: date
smalldatetimeUtilisé pour définir une date qui est combinée avec une heure de la journée où l'heure est basée sur une journée de 24 heures, avec des secondes toujours nulles (: 00) et sans fraction de seconde.Syntaxe: smalldatetime
datetimeUtilisé pour définir une date combinée à une heure de la journée avec des fractions de seconde basée sur une horloge de 24 heures.Syntaxe: datetime
datetime2 datetime2 est comme une extension de l'existant datetime type qui a une plus grande précision fractionnaire par défaut, plus grande plage de dates.Syntaxe: datetime2
datetimeoffsetUtilisé pour définir une date qui est combinée avec une heure d'un jour qui a une reconnaissance de fuseau horaire. Il est basé sur une horloge de 24 heures.Syntaxe: datetimeoffset
tempsUtilisé pour définir une heure de la journée.Syntaxe: time
Chaînes de caractères carboniserUtilisé pour stocker des caractères de taille fixe.carboniser[( n )] où la valeur n varie de 1 à 8 000
varcharUtilisé pour stocker des caractères de longueur variable.varchar [( n | max)] où la valeur n varie de 1 à 8 000 et le stockage maximal autorisé est de 2 Go.
texteUtilisé pour stocker vdonnées non Unicode de longueur ariableLongueur de chaîne maximale autorisée - 2 ^ 31-1 (2 147 483 647)
Chaînes de caractères Unicode ncharUtilisé pour stocker des caractères de taille fixe.nchar[(n)] où la valeur n varie de 1 à 4 000
nvarcharUtilisé pour stocker des caractères de longueur variable.varchar [( n | max)] où la valeur n varie de 1 à 4 000 et le stockage maximal autorisé est de 2 Go.
ntextUtilisé pour stocker des données Unicode de longueur variableLongueur de chaîne maximale autorisée - 2 ^ 30-1 (2 147 483 647)
Chaînes binaires binaireUtilisé pour stocker des types de données binaires de longueur fixebinaire[( n )] où la valeur n varie de 1 à 8 000
varbinaryUtilisé pour stocker des types de données binaires de longueur fixevarbinary[( n )] où la valeur n varie de 1 à 8 000 et le stockage maximal autorisé est de 2 ^ 31-1 octets.
imageUtilisé pour stocker des données binaires de longueur variable0-2 ^ 31-1 (2,147,483,647) octets
Autres types de données Il s'agit d'un type de données pour les paramètres de procédure stockée ou de variables OUTPUT qui contiennent une référence à un curseur.-
rowversionUtilisé pour exposer des nombres binaires uniques générés automatiquement dans une base de données.-
hierarchyidUtilisé pour représenter la position dans une hiérarchie.-
identifiant uniqueEst un GUID de 16 octets.Syntaxe:identifiant unique
sql_variantUtilisé pour stocker les valeurs de divers types de données pris en charge par SQL ServerSyntaxe: sql_variant
xmlUtilisé pour stocker le type de données XML.

xml ([CONTENU | DOCUMENT] xml_schemacollection)

Types de géométrie spatialeUtilisé pour représenter des données dans un système de coordonnées euclidien (plat).-
Types de géographie spatialeUtilisé pour stocker des données ellipsoïdales (terre ronde), telles que les coordonnées GPS de latitude et de longitude.-
tableUtilisé pour stocker un jeu de résultats pour un traitement ultérieur-

Ensuite, dans cet article, nous allons comprendre les différents types de clés et de contraintes dans la base de données.

Différents types de clés dans la base de données

Voici les différents types de clés utilisées dans la base de données:

  • Clé du candidat - La clé candidate est un ensemble d'attributs qui peuvent identifier de manière unique une table. Une table peut avoir plus d'une seule clé candidate et parmi les clés candidates choisies, une clé est choisie comme clé primaire.
  • Super clé - L'ensemble d'attributs peut identifier de manière unique un tuple. Ainsi, les clés candidates, les clés uniques et les clés primaires sont des super clés, mais l'inverse n'est pas vrai.
  • Clé primaire - Clés primaires sont utilisés pour identifier de manière unique chaque tuple.
  • Clé alternative - Les clés alternatives sont les clés candidates qui ne sont pas choisies comme clé primaire.
  • Clé unique- Les clés uniques sont similaires à la clé primaire, mais autorisent une seule valeur NULL dans la colonne.
  • Clé étrangère - Un attribut qui ne peut prendre que les valeurs présentes comme valeurs d'un autre attribut est le clé étrangère à l'attribut auquel il se réfère.
  • Clé composite- Les clés composites sont une combinaison de deux colonnes ou plus qui identifient chaque tuple de manière unique.

Contraintes utilisées dans la base de données

Les contraintes sont utilisées dans une base de données pour spécifier les règles des données stockées dans une table. Les différents types de contraintes en SQL sont les suivants:

PAS NULL

La contrainte NOT NULL garantit qu'une colonne ne peut pas avoir une valeur NULL.

Exemple

CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) --NOT NULL sur ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL

UNIQUE

Cette contrainte garantit que toutes les valeurs d'une colonne sont uniques.

Exemple

--UNIQUE sur Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) --UNIQUE sur plusieurs colonnes CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE sur ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Pour supprimer une contrainte UNIQUE ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

VÉRIFIER

La contrainte CHECK garantit que toutes les valeurs d'une colonne satisfont à une condition spécifique.

Exemple

--CHECK Contrainte sur CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) --CHECK Contrainte sur plusieurs colonnes CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ville varchar (8000), Pays varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Contrainte sur ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') --Pour donner un nom à la contrainte CHECK ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') --Pour supprimer une contrainte CHECK ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

DÉFAUT

La contrainte DEFAULT consiste en un ensemble de valeurs par défaut pour une colonne lorsqu'aucune valeur n'est spécifiée.

Exemple

--DEFAULT Contrainte sur CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') --DEFAULT Contrainte sur ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country --Pour supprimer la contrainte par défaut ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INDICE

La Contrainte INDEX est utilisé pour créer des index dans la table, grâce auxquels vous pouvez créer et récupérer très rapidement des données de la base de données.

Syntaxe

--Créez un index où les valeurs en double sont autorisées CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Créez un index où les valeurs en double ne sont pas autorisées CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... ColonneN)

Exemple

CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) --Pour supprimer un index dans une table DROP INDEX StudentsInfo.idex_StudentName

Dans cet article sur le didacticiel SQL Server, nous allons maintenant comprendre les différentes commandes du langage de manipulation de données utilisées dans Microsoft SQL Server.

Commandes du langage de manipulation de données

Cette section de l'article couvrira toutes les commandes par lesquelles vous pouvez manipuler la base de données. Les commandes sont les suivantes:

Outre ces commandes, il existe également d'autres opérateurs / fonctions de manipulation tels que:

UTILISATION

Cette instruction est utilisée pour sélectionner la base de données pour commencer à effectuer diverses opérations dessus.

Syntaxe

UTILISER DatabaseName

Exemple

UTILISER les étudiants

INSÉRER DANS

La Instruction INSERT INTO est utilisé pour insérer de nouveaux enregistrements dans une table existante.

Syntaxe

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) --Si vous ne souhaitez pas mentionner les noms de colonne, utilisez la syntaxe ci-dessous INSERT INTO TableName VALUES (Valeur1, Valeur2, Valeur3, ...)

Exemple

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSÉRER DANS LES VALEURS StudentsInfo (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')

MISE À JOUR

L'instruction UPDATE permet de modifier ou de mettre à jour les enregistrements déjà présents dans la table.

Syntaxe

UPDATE TableName SET Colonne1 = Valeur1, Colonne2 = Valeur2, ... WHERE Condition

Exemple

METTRE À JOUR StudentInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

EFFACER

L'instruction DELETE est utilisée pour supprimer les enregistrements existants dans une table.

Syntaxe

DELETE FROM TableName WHERE Condition

Exemple

SUPPRIMER DE StudentsInfo WHERE StudentName = 'Aahana'

ALLER

L'instruction MERGE est utilisée pour effectuer les opérations INSERT, UPDATE et DELETE sur une table spécifique, où la table source est fournie. Reportez-vous ci-dessous.

Syntaxe

MERGE TagretTableName USING SourceTableName ON MergeCondition WHEN MATCHED THEN Update_Statement WHEN NOT MATCHED THEN Insert_Statement WHEN NOT MATCHED BY SOURCE THEN DELETE

Exemple

Pour comprendre l'instruction MERGE, considérez les tables suivantes comme la table source et la table cible.

Tableau source:

Carte d'étudiant Nom d'étudiant Des marques
unje déteste87
2Manasa92
4Anay74

Table cible:

Carte d'étudiant Nom d'étudiant Des marques
unje déteste87
2Manasa67
3Saurabh55
MERGE SampleTargetTable TARGET UTILISANT SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) WHEN MATCHED AND TARGET. LORSQUE LA CIBLE N'EST PAS ASSOCIÉE ALORS INSÉRER (StudentID, StudentName, Marks) VALEURS (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) LORSQU'IL N'EST PAS ASSORTI PAR LA SOURCE PUIS SUPPRIMER

Production

Carte d'étudiant Nom d'étudiant Des marques
unje déteste87
2Manasa92
4Anay74

SÉLECTIONNER

La Instruction SELECT est utilisé pour sélectionner des données dans une base de données, une table ou une vue. Les données renvoyées sont stockées dans une table de résultats, appelée ensemble de résultats .

Syntaxe

SELECT Column1, Column2, ... ColumN FROM TableName - (*) est utilisé pour tout sélectionner dans la table SELECT * FROM table_name - Pour sélectionner le nombre d'enregistrements à renvoyer, utilisez: SELECT TOP 3 * FROM TableName

Exemple

- Pour sélectionner quelques colonnes SELECT StudentID, StudentName FROM StudentsInfo - (*) est utilisé pour tout sélectionner dans le tableau SELECT * FROM StudentsInfo - Pour sélectionner le nombre d'enregistrements à renvoyer, utilisez: SELECT TOP 3 * FROM StudentsInfo

Nous pouvons également utiliser les mots-clés suivants avec l'instruction SELECT:

DISTINCT

Le mot clé DISTINCT est utilisé avec l'instruction SELECT pour renvoyer uniquement des valeurs différentes.

Syntaxe

SELECT DISTINCT Colonne1, Colonne2, ... ColonneN FROM NomTable

Exemple

SELECT DISTINCT PhoneNumber FROM StudentsInfo

COMMANDÉ PAR

Cette instruction est utilisée pour trier les résultats requis par ordre croissant ou décroissant. Par défaut, les résultats sont stockés dans l'ordre croissant. Pourtant, si vous souhaitez obtenir les résultats par ordre décroissant, vous devez utiliser le DESC mot-clé.

Syntaxe

SELECT Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC

Exemple

- Sélectionnez tous les élèves de la table 'StudentsInfo' triés par ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Sélectionnez tous les étudiants de la table 'StudentsInfo' triés par ParentName dans l'ordre décroissant: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Sélectionnez tous les élèves de la table 'StudentsInfo' triés par ParentName et StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Sélectionnez tous les étudiants de la table 'StudentsInfo' triés par ParentName dans l'ordre décroissant et StudentName dans l'ordre croissant: * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC

PAR GROUPE

Cette instruction est utilisée avec le fonctions d'agrégation pour regrouper l'ensemble de résultats par une ou plusieurs colonnes.

Syntaxe

SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)

Exemple

- Pour lister le nombre d'étudiants de chaque ville. SELECT COUNT (StudentID), Ville FROM StudentsInfo GROUP BY City

GROUPES D'ENSEMBLES

GROUPING SETS a été introduit dans SQL Server 2008, utilisé pour générer un jeu de résultats qui peut être généré par un UNION TOUT des multiples clauses GROUP BY simples.

Syntaxe

SELECT ColumnNames (s) FROM TableName GROUP BY GROUPING SETS (ColumnName (s))

Exemple

SELECT StudentID, StudentName, COUNT (City) dans le groupe StudentsInfo PAR GROUPING SETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

AYANT

Cette clause est utilisée dans le scénario où le Mot clé WHERE Ne peut pas être utilisé.

Syntaxe

SELECT ColumnName (s) FROM TableName WHERE Condition GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)

Exemple

SELECT COUNT (StudentID), Ville FROM StudentsInfo GROUP BY City HAVING COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC

DANS

Le mot-clé INTO peut être utilisé avec le Instruction SELECT pour copier des données d'une table à une autre. Eh bien, vous pouvez comprendre que ces tables sont des tables temporaires. Les tables temporaires sont généralement utilisées pour effectuer des manipulations sur les données présentes dans la table, sans perturber la table d'origine.

Syntaxe

SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Condition

Exemple

- Pour créer une sauvegarde de la table 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Pour ne sélectionner que quelques colonnes de StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

CUBE

CUBE est une extension du Clause GROUP BY . Il vous permet de générer les sous-totaux pour toutes les combinaisons des colonnes de regroupement spécifiées dans la clause GROUP BY.

Syntaxe

SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)

Exemple

SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID

ROLLUP

ROLLUP est une extension de la clause GROUP BY. Cela vous permet d'inclure les lignes supplémentaires qui représentent les sous-totaux. Celles-ci sont appelées lignes super-agrégées avec la ligne de total général.

Syntaxe

SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)

Exemple

SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY ROLLUP (StudentID)

DÉCALAGE

La clause OFFSET est utilisée avec SELECT et Instruction ORDER BY pour récupérer une plage d'enregistrements. Il doit être utilisé avec la clause ORDER BY car il ne peut pas être utilisé seul. En outre, la plage que vous mentionnez doit être égale ou supérieure à 0. Si vous mentionnez une valeur négative, cela indique une erreur.

Syntaxe

SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS

Exemple

Envisagez une nouvelle colonne Des marques dans le EtudiantsInfo table.

SELECT StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS

FETCH

La clause FETCH est utilisée pour renvoyer un ensemble d'un certain nombre de lignes. Il doit être utilisé en conjonction avec la clause OFFSET.

Syntaxe

SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS UNIQUEMENT

Exemple

SÉLECTIONNEZ StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS FETCH Next 1 ROWS UNIQUEMENT

HAUT

La clause TOP est utilisée avec l'instruction SELECT pour mentionner le nombre d'enregistrements à renvoyer.

Syntaxe

SELECT TOP Number ColumnName (s) FROM TableName WHERE Condition

Exemple

SÉLECTIONNEZ TOP 3 * DE StudentsInfo

PIVOT

PIVOT est utilisé pour faire pivoter les lignes en valeurs de colonne et exécute des agrégations si nécessaire sur les valeurs de colonne restantes.

Syntaxe

SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT requête qui produit les données) AS [alias pour la requête initiale] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName de la colonne dont les valeurs deviendront des en-têtes de colonne] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last colonne pivotée])) AS [alias pour le tableau croisé dynamique]

Exemple

Pour obtenir un exemple détaillé, vous pouvez vous référer à mon article sur SQL PIVOT et UNPIVOT . Ensuite, dans ce didacticiel SQL Server, examinons les différents opérateurs pris en charge par Microsoft SQL Server.

Les opérateurs

La différents types d'opérateurs pris en charge par SQL Server sont les suivants:

Discutons chacun d'eux un par un.

Opérateurs arithmétiques

Opérateur Sens Syntaxe

+

Une addition

expression + expression

-

Soustraction

expression - expression

*

Multiplication

expression * expression

/

Division

expression / expression

%

Moduleux

expression% expression

conversion de type en c ++

Opérateurs d'affectation

Opérateur Sens Syntaxe

=

Attribuer une valeur à une variable

variable = «valeur»

Opérateurs au niveau du bit

Opérateur Sens Syntaxe

& (ET au niveau du bit)

Utilisé pour effectuer une opération ET logique au niveau du bit entre deux valeurs entières.

expression et expression

& = (Affectation ET au niveau du bit)

Utilisé pour effectuer une opération ET logique au niveau du bit entre deux valeurs entières. Il définit également une valeur pour la sortie de l'opération.

expression & = expression

| (OR au niveau du bit)

Utilisé pour effectuer une opération OR logique au niveau du bit entre deux valeurs entières traduites en expressions binaires dans les instructions Transact-SQL.

expression | expression

| = (Affectation OR au niveau du bit)

Utilisé pour effectuer une opération OR logique au niveau du bit entre deux valeurs entières traduites en expressions binaires dans les instructions Transact-SQL. Il définit également une valeur pour la sortie de l'opération.

expression | = expression

^ (OU exclusif au niveau du bit)

Utilisé pour effectuer une opération OU exclusive au niveau du bit entre deux valeurs entières.

expression ^ expression

^ = (Affectation OU exclusive au niveau du bit)

Utilisé pour effectuer une opération OU exclusive au niveau du bit entre deux valeurs entières. Il définit également une valeur pour la sortie de l'opération.

expression ^ = expression

~ (PAS au niveau du bit)

Utilisé pour effectuer une opération NOT logique au niveau du bit sur une valeur entière.

~ expression

Opérateurs de comparaison

Opérateur Sens Syntaxe

=

Égal à

expression = expression

>

Plus grand que

expression> expression

<

Moins que

expression

> =

Plus grand ou égal à

expression> = expression

<=

Inférieur ou égal à

expression<= expression

Pas égal à

expression d'expression

! =

Pas égal à

expression! = expression

!<

Pas moins que

expression !

!>

Pas plus grand que

expression!> expression

Opérateurs composés

Opérateur Sens Syntaxe

+ =

Utilisé pour ajouter de la valeur à la valeur d'origine et définir la valeur d'origine sur le résultat.

expression + = expression

- =

Utilisé pour soustraire une valeur de la valeur d'origine et définir la valeur d'origine sur le résultat.

expression - = expression

* =

Utilisé pour multiplier la valeur par la valeur d'origine et définir la valeur d'origine sur le résultat.

expression * = expression

/ =

Utilisé pour diviser une valeur de la valeur d'origine et définir la valeur d'origine sur le résultat.

expression / = expression

% =

Utilisé pour diviser une valeur de la valeur d'origine et définir la valeur d'origine sur le résultat.

expression% = expression

& =

Utilisé pour effectuer une opération AND au niveau du bit et définir la valeur d'origine sur le résultat.

expression & = expression

^ =

Utilisé pour effectuer une opération OU exclusive au niveau du bit et définir la valeur d'origine sur le résultat.

expression ^ = expression

| =

Utilisé pour effectuer une opération OR au niveau du bit et définir la valeur d'origine sur le résultat.

expression | = expression

Opérateurs logiques

Opérateur Sens Syntaxe

TOUT

Renvoie TRUE si tous les ensembles de comparaisons sont TRUE.

expression_calaire! = TOUT (sous-requête)

ET

Renvoie TRUE si les deux expressions sont TRUE.

expression_booléenne ET expression_booléenne

TOUT

Renvoie TRUE si l'un des éléments d'un ensemble de comparaisons est VRAI.

expression_calaire! = {ANY} (sous-requête)

ENTRE

Renvoie TRUE si un opérande est compris dans une plage.

sampleexpression [NOT] BETWEEN beginxpression AND endexpression

EXISTE

Renvoie TRUE si une sous-requête contient des lignes.

EXISTS (sous-requête)

DANS

Renvoie TRUE si un opérande est égal à l'une d'une liste d'expressions.

test_expression [NOT] IN (sous-requête | expression [,… n])

COMME

Renvoie TRUE si un opérande correspond à un modèle.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NE PAS

Inverse la valeur de tout opérateur booléen.

[NOT] expression_booléenne

OU

Renvoie TRUE si l'une des expressions booléennes est TRUE.

expression_booléenne OU expression_booléenne

CERTAINS

Renvoie TRUE si une partie d'un ensemble de comparaisons est TRUE.

expression_calaire<= { SOME} ( subquery )

Opérateurs de résolution de portée

Opérateur Sens Exemple

::

Fournit un accès aux membres statiques d'un type de données composé. Les types de données composés sont les types de données qui contiennent plusieurs méthodes et types de données simples. Types de données composés Ils incluent les types CLR intégrés et les types définis par l'utilisateur (UDT) SQLCLR personnalisés.

DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Définir les opérateurs

Il existe principalement trois opérations d'ensemble:SYNDICAT,COUPER,MOINS. Vous pouvez vous référer à l'image ci-dessous pour comprendre les opérations définies dans SQL. Reportez-vous à l'image ci-dessous:

Opérateur Sens Syntaxe

SYNDICAT

L'opérateur UNION est utilisé pour combiner le jeu de résultats d'au moins deux instructions SELECT.

SELECT ColumnName (s) FROM Table1
SYNDICAT
SELECT ColumnName (s) FROM Table2

COUPER

La clause INTERSECT est utilisée pour combiner deuxSÉLECTIONNERet retournent l'intersection des ensembles de données des deux instructions SELECT.

SELECT Colonne1, Colonne2….
FROM TableName
WHERE Condition
COUPER
SELECT Colonne1, Colonne2….
FROM TableName
WHERE Condition

SAUF

L'opérateur EXCEPT renvoie les tuples qui sont retournés par la première opération SELECT et ne sont pas retournés par la deuxième opération SELECT.

SELECT ColumnName
FROM TableName
SAUF
SELECT ColumnName
FROM TableName

Opérateurs de chaîne

Opérateur Sens Syntaxe / Exemple

+ (Concaténation de chaînes)

Concatène au moins deux chaînes binaires ou de caractères, des colonnes ou une combinaison de chaînes et de noms de colonnes en une seule expression

expression + expression

+ = (Concaténation de chaînes)

Utilisé pour concaténer deux chaînes et définit la chaîne sur le résultat de l'opération.

expression + = expression

% (Caractères génériques à faire correspondre)

Utilisé pour faire correspondre n'importe quelle chaîne de zéro caractère ou plus.

Exemple: 'sample%'

[] (Caractères génériques à associer)

Utilisé pour faire correspondre un seul caractère dans la plage spécifiée ou l'ensemble spécifié entre crochets [].

Exemple: m [n-z]% ’

[^] (Caractères génériques correspondants)

Utilisé pour faire correspondre un seul caractère qui n'est pas dans la plage ou l'ensemble spécifié entre les crochets.

Exemple: 'Al [^ a]%'

_ (Caractères génériques à associer)

Utilisé pour faire correspondre un seul caractère dans une opération de comparaison de chaînes

test_expression [NOT] IN (sous-requête | expression [,… n])

Agrégat Les fonctions

Le différent fonctions d'agrégation pris en charge par SQL Server sont les suivants:

Fonction La description Syntaxe Exemple

SOMME()

Utilisé pour renvoyer la somme d'un groupe de valeurs.

SELECT SUM (ColumnName) FROM TableName

SELECT SUM (points) FROM StudentsInfo

COMPTER()

Renvoie le nombre de lignes basé sur une condition ou sans condition.

SELECT COUNT (ColumnName) FROM TableName WHERE Condition

SELECT COUNT (StudentID) FROM StudentsInfo

AVG ()

Utilisé pour calculer la valeur moyenne d'une colonne numérique.

SELECT AVG (ColumnName) FROM TableName

SÉLECTIONNER MOYENNE (points) DE StudentInfo

MIN ()

Cette fonction renvoie la valeur minimale d'une colonne.

SELECT MIN (ColumnName) FROM TableName

SELECT MIN (points) FROM StudentsInfo

MAX ()

Renvoie une valeur maximale d'une colonne.

SELECT MAX (ColumnName) FROM TableName

SÉLECTIONNEZ MAX (points) dans StudentsInfo

PREMIER()

Utilisé pour renvoyer la première valeur de la colonne.

SELECT FIRST (ColumnName) FROM TableName

CHOISISSEZ EN PREMIER (points) DE StudentsInfo

DERNIER()

Cette fonction renvoie la dernière valeur de la colonne.

SELECT LAST (ColumnName) FROM TableName

SÉLECTIONNER LE DERNIER (points) DE StudentsInfo

Fonctions définies par l'utilisateur

Microsoft SQL Server permet aux utilisateurs de créer des fonctions définies par l'utilisateur qui sont des routines. Ces routines acceptent des paramètres, peuvent effectuer des actions simples à complexes et renvoyer le résultat de cette action particulière sous forme de valeur. Ici, la valeur renvoyée peut être une valeur scalaire unique ou un jeu de résultats complet.

Vous pouvez utiliser des fonctions définies par l'utilisateur pour:

  • Autoriser la programmation modulaire
  • Réduisez le trafic réseau
  • Permettre une exécution plus rapide des requêtes

En outre, vous pouvez créer différents types de fonctions définies par l'utilisateur. Elles sont:

  • Fonctions scalaires: Habituérenvoie une seule valeur de données du type défini dans la clause RETURNS.
  • Fonctions de table: Habituéretourner untableType de données.
  • Fonctions système: Diverses fonctions système sont fournies par SQL Server pour effectuer différentes opérations.

Eh bien, outre les fonctions définies par l'utilisateur, il existe un tas de fonctions intégrées dans SQL Server qui peuvent être utilisées pour effectuer une variété de tâches. En poursuivant cet article sur le didacticiel SQL Server, voyons maintenant ce que sont les requêtes imbriquées.

Requêtes imbriquées

Requêtes imbriquées sont les requêtes qui ont une requête externe et une sous-requête interne. Donc, fondamentalement, la sous-requête est une requête qui est imbriquée dans une autre requête telle que SELECT, INSERT, UPDATE ou DELETE. Reportez-vous à l'image ci-dessous:

Ensuite, dans ce didacticiel SQL Server, laissez-nous comprendre les différents types de jointures dans SQL.

Rejoint

sont utilisés pour combiner des tuples de deux tables ou plus, en fonction d'une colonne liée entre les tables. Il existe quatre types de jointures:

  • JOINTURE INTERNE: Renvoie les enregistrements qui ont des valeurs correspondantes dans les deux tables.
  • JOINT GAUCHE: Renvoie les enregistrements de la table de gauche, ainsi que les enregistrements qui satisfont à la condition de la table de droite.
  • JOINDRE DROIT: Renvoie les enregistrements de la table de droite, ainsi que les enregistrements qui satisfont à la condition de la table de gauche.
  • INSCRIPTION COMPLÈTE: Renvoie les enregistrements qui ont une correspondance dans la table de gauche ou de droite.

Considérez le tableau suivant avec le tableau StudentsInfo pour comprendre la syntaxe des jointures.

SubjectID Carte d'étudiant Nom du sujet
dixdixMathématiques
2OnzeLa physique
312Chimie

JOINTURE INTERNE

Syntaxe

SELECT ColumnName (s) FROM Table1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemple

SELECT Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID

JOINT GAUCHE

Syntaxe

SELECT ColumnName (s) FROM Table1 JOINT GAUCHE Table2 ON Table1.ColumnName = Table2.ColumnName

Exemple

SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

JOINDRE DROIT

Syntaxe

SELECT ColumnName (s) FROM Table1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemple

SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

REJOINDRE COMPLET

Syntaxe

SELECT ColumnName (s) FROM Table1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemple

SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

Ensuite, dans cet article sur le didacticiel SQL Server, laissez-nous comprendre les différents types de boucles pris en charge par SQL Server.

Boucles

Les différentes commandes de contrôle de flux sont les suivantes:

Discutons chacun d'eux un par un.

BEGIN..END

Ces mots clés sont utilisés pour entourer une série d'instructions SQL. Ensuite, ce groupe d'instructions SQL peut être exécuté.

Syntaxe

Instruction BEGINBlock END

PAUSE

Cette instruction est utilisée pour quitter la boucle WHILE actuelle. Dans le cas où la boucle WHILE actuelle est imbriquée dans une autre boucle, l'instruction BREAK quitte uniquement la boucle actuelle et le contrôle est passé à l'instruction suivante dans la boucle actuelle. L'instruction BREAK est généralement utilisée dans une instruction IF.

Syntaxe

PAUSE

CONTINUER

L'instruction CONTINUE est utilisée pour redémarrer une boucle WHILE. Ainsi, toutes les instructions après le mot-clé CONTINUE seront ignorées.

Syntaxe

java comment l'utiliser
CONTINUER

Ici, Label est le point après lequel le traitement commence si un GOTO est ciblé sur cette étiquette particulière.

ALLER À

Utilisé pour modifier le flux d'exécution vers une étiquette. Les instructions écrites après le mot-clé GOTO sont ignorées et le traitement se poursuit au niveau de l'étiquette.

Syntaxe

Définir le libellé: Libellé: Modifier l'exécution: Libellé GOTO

Ici, Label est le point après lequel le traitement commence si un GOTO est ciblé sur cette étiquette particulière.

SINON

Comme tout autre langage de programmation, l'instruction If-else de SQL Server teste la condition et si la condition est fausse, l'instruction «else» est exécutée.

Syntaxe

IF BooleanExpression StatementBlock [ELSE StatementBlock]

REVENIR

Utilisé pour quitter sans condition une requête ou une procédure. Ainsi, les instructions écrites après la clause RETURN ne sont pas exécutées.

Syntaxe

RETURN [IntegerExpression]

Ici, une valeur entière est renvoyée.

ATTENDRE

Le flux de contrôle WAITFOR est utilisé pour bloquer l'exécution d'une procédure stockée, d'une transaction ou d'un lot jusqu'à ce qu'une instruction spécifique soit modifiée, retourne au moins une ligne ou qu'un intervalle de temps ou de temps spécifié s'écoule.

Syntaxe

WAITFOR (GetConversionGroupStatement)] [, timeout TIMEOUT]

où,

  • RETARD - Période de temps qui doit s'écouler
  • TimeToPass - Ppériode d'attente
  • TEMPS - Laheure à laquelle la procédure stockée, la transaction ou le lot s'exécute.
  • TimeToExecute - Laheure à laquelle l'instruction WAITFOR se termine.
  • RecieveStatement - Àinstruction RECEIVE valide.
  • GetConversionGroupStatement - Àinstruction GET CONVERSATION GROUP valide.
  • Timeout TIMEOUT - Spécifie la durée, en millisecondes, à attendre qu'un message arrive dans la file d'attente.

TANDIS QUE

Cette boucle est utilisée pour définir une condition pour l'exécution répétée d'une instruction SQL particulière ou d'un bloc d'instructions SQL. Les instructions sont exécutées tant que la condition mentionnée par l'utilisateur est TRUE. Dès que la condition échoue, la boucle s'arrête de s'exécuter.

Syntaxe

WHILE BooleanExpression StatementBlock

Maintenant que vous connaissez les commandes DML, passons à notre section suivantedans cet article sur le didacticiel SQL, c'est-à-dire les commandes DCL.

Commandes du langage de contrôle des données (DCL)

Cette section du didacticiel SQL Server vous donnera une idée de la commande utilisée pour appliquer la sécurité de la base de données dans plusieurs environnements de base de données utilisateur. Les commandes sont les suivantes:

SUBVENTION

La commande GRANT est utilisée pour fournir un accès ou des privilèges sur la base de données et ses objets aux utilisateurs.

Syntaxe

GRANT PrivilegeName ON ObjectName TO RoleName [AVEC GRANT OPTION]

où,

  • PrivilegeName - Le privilège / droit / accès est-il accordé à l'utilisateur.
  • ObjectName - Nom d'un objet de base de données comme TABLE / VIEW / STORED PROC.
  • Nom d'utilisateur - Nom de l'utilisateur qui a accès / droits / privilèges.
  • PUBLIQUE - Accorder des droits d'accès à tous les utilisateurs.
  • Nom de rôle - Le nom d'un ensemble de privilèges regroupés.
  • AVEC OPTION DE SUBVENTION - Donner à l'utilisateur l'accès pour accorder des droits à d'autres utilisateurs.

Exemple

- Pour accorder l'autorisation SELECT à la table StudentsInfo à l'utilisateur1 GRANT SELECT ON StudentsInfo TO user1

RÉVOQUER

La commande REVOKE est utilisée pour retirer les privilèges d'accès de l'utilisateur donnés à l'aide de la commande GRANT.

Syntaxe

REVOKE PrivilegeName ON ObjectName FROM PUBLIC

Exemple

- Pour révoquer l'autorisation accordée à l'utilisateur1 REVOKE SELECT ON StudentsInfo TO user1

Dans ce didacticiel SQL Server, nous allons comprendre comment créer et utiliser des procédures stockées.

Procédures stockées

Procédures stockées sont des unités réutilisables qui encapsulent une logique métier spécifique de l'application. Il s'agit donc d'un groupe d'instructions SQL et de logique, compilés et stockés ensemble pour effectuer une tâche spécifique.

Syntaxe

CREATE [OR REPLACE] PROCEDURE nom_procédure [(nom_paramètre [IN | OUT | IN OUT] type [])] IS BEGIN [section_déclaration] section_exécutable // instruction SQL utilisée dans la procédure stockée END GO

Exemple

--Créez une procédure qui renverra un nom d'étudiant lorsque StudentId est donné comme paramètre d'entrée à la procédure stockée Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Étapes à exécuter:

      • Déclarer @StudName comme nvarchar (50)
      • EXEC GetStudentName 01, sortie @StudName
      • SÉLECTIONNEZ @StudName

La procédure ci-dessus renvoie le nom d'un élève particulier,en donnant cet identifiant d'étudiant comme entrée. Ensuite, dans ce didacticiel SQL Server, laissez-nous comprendre les commandes du langage de contrôle des transactions.

Commandes de langage de contrôle des transactions (TCL)

Cette section du didacticiel SQL Server vous donnera un aperçu des commandes utilisées pour gérer les transactions dans la base de données.Les commandes sont les suivantes:

COMMETTRE

La commande COMMIT est utilisée pour enregistrer la transaction dans la base de données.

Syntaxe

COMMETTRE

RETOUR EN ARRIERE

La commande ROLLBACK est utilisée pour restaurer la base de données au dernier état validé.

Syntaxe

RETOUR EN ARRIERE

REMARQUE: Lorsque vous utilisez ROLLBACK avec SAVEPOINT, vous pouvez accéder directement à un point de sauvegarde dans une transaction en cours. Syntaxe: ROLLBACK TO SavepointName

SAVEPOINT

La commande SAVEPOINT permet de sauvegarder temporairement une transaction. Donc, si vous souhaitez revenir à un point quelconque, vous pouvez enregistrer ce point en tant que «SAVEPOINT».

Syntaxe

SAVEPOINT SAVEPOINTNAME

Considérez le tableau ci-dessous pour comprendre le fonctionnement des transactions dans la base de données.

Carte d'étudiant Nom d'étudiant
unRohit
2Suhana
3Ashish
4Prerna

Maintenant, utilisez le ci-dessous pour comprendre les transactions dans la base de données.

INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay' ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * DE StudentTable

Ensuite, dans cet article sur le didacticiel SQL Server, nous allons comprendre comment gérer les exceptions dans Transact-SQL.

Gestion des exceptions

Il existe deux types d'exceptions, à savoir les exceptions définies par le système et les exceptions définies par l'utilisateur. Comme son nom l'indique, la gestion des exceptions est un processus par lequel un utilisateur peut gérer les exceptions générées. Pour gérer les exceptions, vous devez comprendre les instructions de flux de contrôle suivantes:

JETER

Cette clause est utilisée pour lever une exception et transfère l'exécution vers un bloc CATCH d'une construction TRY… CATCH.

Syntaxe

THROW [ErrorNumber, @localvariable, State] []

où,

  • ErrorNumber - Àconstante ou variable qui représente l'exception.
  • Message - Àvariable ou chaîne décrivant l'exception.
  • Etat -Une constante ou une variable entre 0 et 255 qui indique l'état à associer au message.
THROW 51000, 'L'enregistrement n'existe pas.', 1

ESSAYEZ..CATCH

Utilisé pour implémenter la gestion des exceptions dans Transact-SQL. Un groupe d'instructions peut être inclus dans le bloc TRY. En cas d'erreur dans le bloc TRY, le contrôle est passé à un autre groupe d'instructions inclus dans un bloc CATCH.

Syntaxe

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

DANS Avec cela, nous arrivons à la fin de cet article sur le didacticiel SQL Server. J'espère que vous avez apprécié la lecture de cet article sur le didacticiel SQL Server pour les débutants.je Si vous souhaitez suivre une formation structurée sur MySQL, consultez notre qui s'accompagne d'une formation en direct animée par un instructeur et d'une expérience de projet réelle. Cette formation vous aidera à comprendre MySQL en profondeur et vous aidera à maîtriser le sujet. Vous avez une question pour nous? Veuillez le mentionner dans la section des commentaires de ' Tutoriel SQL Server »Et je vous répondrai.