Dernière mise à jour : 13/07/2017
Pour ajouter des données, utilisez la commande INSERT, qui a la syntaxe formelle suivante :
INSERT table_name [(column_list)] VALEURS (valeur1, valeur2, ... valeurN)
Vient d'abord l'expression INSERT INTO, puis entre parenthèses vous pouvez spécifier une liste de colonnes séparées par des virgules auxquelles les données doivent être ajoutées, et à la fin, après le mot VALEURS, les valeurs à ajouter pour les colonnes sont répertoriées dans parenthèses.
Par exemple, supposons que la base de données suivante ait été créée précédemment :
CRÉER UNE BASE DE DONNÉES productsdb ; ALLEZ UTILISER productsdb ; Produits CREATE TABLE (Id INT IDENTITY PRIMARY KEY, ProductName NVARCHAR(30) NOT NULL, Fabricant NVARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price MONEY NOT NULL)
Ajoutons-y une ligne à l'aide de la commande INSERT :
INSÉRER LES VALEURS DES PRODUITS ("iPhone 7", "Apple", 5, 52000)
Après une exécution réussie dans SQL Server Management Studio, le message « 1 ligne(s) affectée(s) » doit apparaître dans le champ du message :
Il convient de considérer que les valeurs des colonnes entre parenthèses après le mot-clé VALUES sont transmises dans l'ordre dans lequel elles sont déclarées. Par exemple, dans l'instruction CREATE TABLE ci-dessus, vous pouvez voir que la première colonne est Id. Mais comme l'attribut IDENTITY est spécifié pour cela, la valeur de cette colonne est automatiquement générée et peut être omise. La deuxième colonne représente ProductName, donc la première valeur, la chaîne « iPhone 7 », sera transmise à cette colonne. La deuxième valeur - la chaîne "Apple" sera transmise à la troisième colonne Fabricant et ainsi de suite. Autrement dit, les valeurs sont transmises aux colonnes comme suit :
Nom du produit : « iPhone 7 »
Fabricant : "Apple"
De plus, lors de la saisie des valeurs, vous pouvez spécifier les colonnes immédiates auxquelles les valeurs seront ajoutées :
INSÉRER DANS LES VALEURS DES PRODUITS (Nom du produit, Prix, Fabricant) ("iPhone 6S", 41000, "Apple")
Ici, la valeur est spécifiée pour seulement trois colonnes. De plus, désormais les valeurs sont transmises dans l'ordre des colonnes :
Nom du produit : "iPhone 6S"
Fabricant : "Apple"
Pour les colonnes non spécifiées (dans ce cas ProductCount), une valeur par défaut sera ajoutée si l'attribut DEFAULT est spécifié, ou une valeur NULL. Cependant, les colonnes non spécifiées doivent pouvoir être nullables ou avoir un attribut DEFAULT.
On peut également ajouter plusieurs lignes à la fois :
INSÉRER DANS LES VALEURS DES PRODUITS ("iPhone 6", "Apple", 3, 36000), ("Galaxy S8", "Samsung", 2, 46000), ("Galaxy S8 Plus", "Samsung", 1, 56000)
Dans ce cas, trois lignes seront ajoutées au tableau.
De plus, lors de l'ajout, nous pouvons spécifier que la colonne doit avoir une valeur par défaut à l'aide du mot-clé DEFAULT, ou une valeur NULL :
INSERT INTO Products (ProductName, Manufacturer, ProductCount, Price) VALEURS ("Mi6", "Xiaomi", DEFAULT, 28000)
Dans ce cas, la valeur par défaut de la colonne ProductCount sera utilisée (si elle est définie, si elle ne l'est pas, alors NULL).
Si toutes les colonnes ont un attribut DEFAULT qui spécifie une valeur par défaut ou sont nullables, vous pouvez insérer des valeurs par défaut pour toutes les colonnes :
INSÉRER DANS LES VALEURS PAR DÉFAUT DES PRODUITS
Mais si nous prenons la table Products, une telle commande échouera avec une erreur, car plusieurs champs n'ont pas l'attribut DEFAULT et n'autorisent en même temps pas la valeur NULL.
Cet article est consacré au remplissage des tables de base de données avec des données, c'est-à-dire que nous étudierons les commandes SQL pour insérer de nouveaux enregistrements. Il faut dire que l'enregistrement dans un tableau peut se faire de deux manières :
Méthode numéro 1.
Essayons d'ajouter une entrée sur le nouveau pays au tableau des pays. La syntaxe d'ajout sera la suivante :
INSERT INTO nom_table (champ_1, champ_2, ...) VALEURS (Valeur_1, Valeur_2, ...); Sur la base de notre structure de table, la requête SQL ressemblera à ceci :
INSÉRER DANS les pays (nom_pays, nom_acronyme) VALEURS ("Russie", "RU"); C'est ainsi que nous avons ajouté une entrée sur le pays « Russie » à notre tableau. Tout ici doit être clair et simple, l'essentiel est de regarder attentivement les champs que vous indiquez dans les premières parenthèses, et d'écrire les valeurs dans le même ordre dans la seconde.
Méthode numéro 2.
La deuxième méthode, à mon avis, est un peu plus simple, puisque vous voyez ce que vous attribuez et à quel domaine. Croyez-moi, si un tableau comporte un grand nombre de colonnes, il est alors très facile de confondre ou d'oublier l'ordre des champs dans la première et l'ordre des valeurs dans la seconde parenthèse. La syntaxe de la deuxième méthode est :
INSERT INTO nom_table SET champ_1 = Valeur_1, champ_2 = Valeur_2, ... ; Utilisons cet exemple pour ajouter quelques informations au tableau. personnes, puisqu'il y a plus de champs, et l'avantage de la deuxième méthode se fera immédiatement sentir :
INSERT INTO people SET first_name="Ivan", last_name="Dulin", Registration_date="2012-06-14", country="1" ; Notre tableau contient maintenant les données suivantes :
Vous avez probablement remarqué que nous n'avons pas spécifié de valeur pour l'âge, mais elle s'est avérée remplie... Tout est correct - pour ce champ, nous avons défini la valeur par défaut sur 25. Alors maintenant, notre Ivan Dulin est répertorié dans la base de données avec un âge de 25 ans. Ce n'est peut-être pas le meilleur exemple de définir une valeur par défaut pour le champ d'âge, mais vous pouvez définir de telles propriétés sur des champs tels que, par exemple, l'évaluation des utilisateurs du site ou le nombre de pages vues. Ils sont initialement mis à 0.
Vous devez également faire attention au format de date dans MySQL : AAAA-MM-JJ. Si vous ne le respectez pas, vos entrées ne seront tout simplement pas inscrites dans le tableau.
Comme vous pouvez le constater, le champ profession est renseigné comme NULL, c'est une valeur vide. Pour ce champ, nous définissons la propriété « optionnel (NULL) ».
En complément, considérez la commande suivante :
CHARGER LES DONNÉES LOCAL INFILE "D:\zapros.txt" DANS LA TABLE personnes ; Que pensez-vous que nous avons fait maintenant ?! Et nous avons fait ce qui suit : ajouté des données au tableau personnesà partir du fichier requêtes.txt, qui se trouve sur le lecteur D. Les informations contenues dans le fichier doivent avoir la structure suivante :
La structure des données du fichier doit répondre aux exigences suivantes :
- Chaque nouvelle entrée doit être décrite sur une nouvelle ligne
- Les données doivent être spécifiées pour absolument tous les champs. Comme vous pouvez le voir, nous avons spécifié la valeur NULL pour le champ id, car il s'auto-incrémente, donc MySQL lui-même entrera la valeur requise.
- Les champs sont séparés les uns des autres par un caractère de tabulation (touche Tab).
- Les informations que vous saisissez doivent correspondre aux types de données du champ spécifique. C'est par exemple une date au format AAAA-MM-JJ, un entier pour entier, etc.
Tableau des métiers :
Tableau des personnes :
prénom | nom de famille | âge | Date d'inscription | pays | profession |
Léonid | Bilac | 45 | 2012-06-20 | 2 | 1 |
Youri | Nazarov | 22 | 2012-06-21 | 3 | 1 |
Alla | Savenko | 25 | 2012-06-22 | 2 | 3 |
Irina | Nikolaïev | 31 | 2012-06-22 | 1 | 3 |
Assurez-vous d'ajouter ces entrées, car nous en aurons besoin pour étudier l'instruction SELECT (sélection d'informations dans la base de données), que nous examinerons dans le prochain (quatrième) article sur l'étude des requêtes SQL.
Dans les sections précédentes, nous avons examiné le travail de récupération de données à partir de tables pré-créées. Il est maintenant temps de comprendre comment créer/supprimer des tables, ajouter de nouveaux enregistrements et supprimer les anciens. À ces fins dans SQL Il existe des opérateurs tels que : CRÉER- crée un tableau, MODIFIER- modifie la structure du tableau, BAISSE- supprime une table ou un champ, INSÉRER- ajoute des données au tableau. Commençons par nous familiariser avec ce groupe d'opérateurs de l'opérateur INSÉRER.
1. Ajout de lignes entières
Comme son nom l'indique, l'opérateur INSÉRER utilisé pour insérer (ajouter) des lignes dans une table de base de données. L'ajout peut se faire de plusieurs manières :
- - ajouter une ligne complète
- - ajouter une partie de ligne
- - ajouter les résultats de la requête.
Ainsi, pour ajouter une nouvelle ligne à une table, nous devons spécifier le nom de la table, lister les noms de colonnes et spécifier la valeur de chaque colonne à l'aide de la construction INSÉRER DANS nom_table (champ1, champ2 ...) VALEURS (valeur1, valeur2...). Regardons un exemple.
INSÉRER DANS LES VALEURS DES Vendeurs (ID, Adresse, Ville, Nom_vendeur, Pays)("6", "1ère rue", "Los Angeles", "Harry Monroe", "États-Unis")
Vous pouvez également modifier l'ordre des noms de colonnes, mais en même temps vous devez modifier l'ordre des valeurs dans le paramètre VALEURS.
2. Ajout d'une partie des lignes
Dans l'exemple précédent, lors de l'utilisation de l'opérateur INSÉRER nous avons explicitement marqué les noms des colonnes du tableau. En utilisant cette syntaxe, nous pouvons sauter certaines colonnes. Cela signifie que vous saisissez des valeurs pour certaines colonnes mais ne les fournissez pas pour d'autres. Par exemple:
INSÉRER DANS LES VALEURS Vendeurs (ID, Ville, Nom_vendeur)("6", "Los Angeles", "Harry Monroe")
Dans cet exemple, nous n'avons pas spécifié de valeur pour deux colonnes Adresse Et Pays. Vous pouvez exclure certaines colonnes de la déclaration INSÉRER DANS, si cela permet la définition de la table. Dans ce cas, une des conditions doit être remplie : cette colonne est définie comme valide NUL(absence de toute valeur) ou la valeur par défaut spécifiée dans la définition de la table. Cela signifie que si aucune valeur n'est spécifiée, la valeur par défaut sera utilisée. S'il vous manque une colonne d'un tableau qui ne permet pas aux valeurs d'apparaître dans ses lignes NUL et n'a pas de valeur par défaut définie, le SGBD générera un message d'erreur et la ligne ne sera pas ajoutée.
3. Ajout des données sélectionnées
Dans l'exemple précédent, nous avons inséré des données dans des tables en les saisissant manuellement dans la requête. Cependant, l'opérateur INSÉRER DANS nous permet d'automatiser ce processus si nous voulons insérer des données d'une autre table. A cet effet, en SQL, il existe une construction telle que INSÉRER DANS... SÉLECTIONNER.... Cette conception vous permet de sélectionner simultanément des données dans une table et de les insérer dans une autre. Supposons que nous ayons une autre table Vendeurs_EU avec une liste de vendeurs de nos produits en Europe et nous devons les ajouter au tableau général Les vendeurs. La structure de ces tableaux est la même (même nombre de colonnes et mêmes noms), mais les données sont différentes. Pour ce faire, nous pouvons écrire la requête suivante :
INSÉRER DANS Vendeurs (ID, Adresse, Ville, Nom_vendeur, Pays) SELECTID, adresse, ville, nom_vendeur, pays FROM Sellers_EU
Il faut faire attention à ce que les valeurs des clés internes ne soient pas répétées (champ IDENTIFIANT), sinon une erreur se produira. Opérateur SÉLECTIONNER peut également inclure des suggestions OÙ pour filtrer les données. A noter également que le SGBD ne fait pas attention aux noms des colonnes contenues dans l'instruction SÉLECTIONNER, seul l'ordre dans lequel ils sont disposés est important pour elle. Par conséquent, les données de la première colonne spécifiée qui ont été sélectionnées en raison de SÉLECTIONNER, sera renseigné dans la première colonne du tableau dans tous les cas Les vendeurs, précisé après l'opérateur INSÉRER DANS, quel que soit le nom du champ.
4. Copier des données d'une table à une autre
Souvent, lorsque l'on travaille avec des bases de données, il est nécessaire de créer des copies de n'importe quelle table à des fins de sauvegarde ou de modification. Pour créer une copie complète d'une table, SQL fournit une instruction distincte SÉLECTIONNER DANS. Par exemple, nous devons créer une copie du tableau Les vendeurs, vous devrez rédiger la demande comme suit :
SELECT * INTO Sellers_new FROM Vendeurs
Contrairement au modèle précédent INSÉRER DANS... SÉLECTIONNER... Lorsque des données sont ajoutées à une table existante, la conception copie les données dans la nouvelle table. Vous pouvez également dire que la première construction importe des données et la seconde les exporte. Lors de l'utilisation du design SÉLECTIONNER... DANS... DE... Les éléments suivants doivent être pris en compte :
- - vous pouvez utiliser n'importe quelle phrase dans l'opérateur SÉLECTIONNER, tel que PAR GROUPE Et AYANT
- - vous pouvez utiliser une jointure pour ajouter des données de plusieurs tables
- - les données ne peuvent être ajoutées qu'à une seule table, quel que soit le nombre de tables dont elles proviennent.
Les instructions SQL INSERT INTO et INSERT SELECT sont utilisées pour insérer de nouvelles lignes dans une table. Il existe deux manières d'utiliser les instructions :
- Valeurs uniquement : la première méthode consiste à spécifier uniquement les valeurs de données à insérer sans les noms de colonnes.
Syntaxe:
INSERT INTO nom_table VALUES (valeur1, valeur2, valeur3,...); nom_table : nom de la table. value1, value2,.. : valeurs de la première colonne, deuxième colonne,... pour le nouvel enregistrement
- Noms et valeurs des colonnes: La deuxième méthode précise les noms de colonnes et les valeurs de lignes à insérer :
Syntaxe:
INSERT INTO nom_table (colonne1, colonne2, colonne3,..) VALUES (valeur1, valeur2, valeur3,...); nom_table : nom de la table. column1 : nom de la première colonne, de la deuxième colonne... value1, value2,.. : valeurs de la première colonne, de la deuxième colonne,... pour le nouvel enregistrement
Demandes :
Méthode 1 ( insérer uniquement des valeurs):
INSÉRER DANS LES VALEURS DE L'Étudiant ("5", "DUR", "BENGALE DE L'OUEST", "8759770477", "19");
Résultat :
Après avoir utilisé INSERT INTO SELECT, la table Student ressemblera désormais à ceci :
ROLL_NO | NOM | ADRESSE | TÉLÉPHONE | Âge |
1 | RAM | Delhi | 9455123451 | 18 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | Delhi | 9156768971 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
5 | RUDE | BENGALE-OCCIDENTAL | 8759770477 | 19 |
Méthode 2 ( insérer des valeurs dans les colonnes spécifiées uniquement):
INSÉRER DANS LES VALEURS de l'étudiant (ROLL_NO, NOM, Âge) ("5", "PRATIK", "19");
Résultat :
La table Étudiant ressemblera désormais à ceci :
ROLL_NO | NOM | ADRESSE | TÉLÉPHONE | Âge |
1 | RAM | Delhi | 9455123451 | 18 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | Delhi | 9156768971 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
5 | PRATIK | nul | nul | 19 |
Notez que les colonnes pour lesquelles aucune valeur n'est spécifiée sont définies sur null .
Utilisation de SELECT dans une instruction INSERT INTO
Vous pouvez utiliser l'instruction MySQL INSERT SELECT pour copier des lignes d'une table et les insérer dans une autre.
L'utilisation de cette instruction est similaire à l'utilisation de INSERT INTO. La différence est que l'instruction SELECT est utilisée pour sélectionner des données dans une autre table. Vous trouverez ci-dessous les différentes manières d'utiliser INSERT INTO SELECT :
- Insérer toutes les colonnes du tableau: Vous pouvez copier toutes les données d'un tableau et les coller dans un autre tableau.
Syntaxe:
INSERT INTO first_table SELECT * FROM second_table; first_table : nom de la première table. second_table : nom de la deuxième table.
Nous avons utilisé une instruction SELECT pour copier les données d'une table et une instruction INSERT INTO pour les insérer dans une autre.
- Insertion de colonnes de tableau individuelles. Vous pouvez copier uniquement les colonnes du tableau que vous souhaitez coller dans un autre tableau.
Syntaxe:
INSERT INTO first_table(column_names1) SELECT column_names2 FROM second_table ; first_table : nom de la première table. second_table : nom de la deuxième table. col_names1 : noms de colonnes séparés par des virgules (,) pour le tableau 1. col_names2 : noms de colonnes séparés par des virgules (,) pour le tableau 2.
Nous avons utilisé l'instruction SELECT pour copier les données uniquement des colonnes sélectionnées de la deuxième table et l'instruction MySQL INSERT INTO SELECT pour les insérer dans la première table.
- Copier des lignes spécifiques d'une table. Vous pouvez copier des lignes spécifiques d'une table pour les coller ultérieurement dans une autre table en utilisant une clause WHERE avec une clause SELECT. Dans ce cas, vous devez utiliser la condition appropriée dans OÙ.
Syntaxe:
Tableau 2 : Étudiant latéral
ROLL_NO | NOM | ADRESSE | TÉLÉPHONE | Âge |
7 | SOUVIK | DUM DUM | 9876543210 | 18 |
8 | NIRAJ | NOIDA | 9786543210 | 19 |
9 | QUELQUE CHOSE | ROHTAK | 9687543210 | 20 |
Demandes :
Méthode 1 ( insérer toutes les lignes et colonnes):
INSÉRER DANS Étudiant SELECT * FROM LateralStudent ;
Résultat :
Cette requête insérera toutes les données de la table LateralStudent dans la table Student. Après avoir utilisé SQL INSERT INTO SELECT, la table Student ressemblera à ceci :
ROLL_NO | NOM | ADRESSE | TÉLÉPHONE | Âge |
1 | RAM | Delhi | 9455123451 | 18 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | Delhi | 9156768971 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
7 | SOUVIK | DUM DUM | 9876543210 | 18 |
8 | NIRAJ | NOIDA | 9786543210 | 19 |
9 | QUELQUE CHOSE | ROHTAK | 9687543210 | 20 |
Méthode 2 ( insertion de colonnes individuelles):
INSERT INTO Student(ROLL_NO,NAME,Age) SELECT ROLL_NO, NAME, Age FROM LateralStudent ;
Résultat :
Cette requête insérera les données des colonnes ROLL_NO, NAME et Age de la table LateralStudent dans la table Student. Les colonnes restantes de la table Student seront définies sur null . Après avoir utilisé SQL INSERT SELECT, la table ressemblera à ceci :
ROLL_NO | NOM | ADRESSE | TÉLÉPHONE | Âge |
1 | RAM | Delhi | 9455123451 | 18 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | Delhi | 9156768971 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
7 | SOUVIK | Nul | nul | 18 |
8 | NIRAJ | Nul | nul | 19 |
9 | QUELQUE CHOSE | Nul | nul | 20 |
- Sélection de lignes spécifiques à insérer:
Résultat :
Cette requête sélectionnera uniquement la première ligne de la table LateralStudent à insérer dans la table Student. Après avoir utilisé INSERT SELECT, le tableau ressemblera à ceci :
ROLL_NO | NOM | ADRESSE | TÉLÉPHONE | Âge |
1 | RAM | Delhi | 9455123451 | 18 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | Delhi | 9156768971 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
2 | RAMÈS | GURGAON | 9562431543 | 18 |
7 | SOUVIK | DUM DUM | 9876543210 | 18 |
Cette publication est une traduction de l'article « SQL INSERT INTO Statement », préparé par l'équipe du projet amical.
Syntaxe générale :
a) insérer une nouvelle ligne dans le tableau :
INSÉRER<таблица>[(Colonnes)]
VALEURS
b) Insertion d'une ou plusieurs lignes dans le tableau extraites de la source spécifiée dans la sous-requête :
INSÉRER<таблица>[(Colonnes)]
Règles:
Le nombre d'éléments dans la section « Colonnes » doit correspondre au nombre d'éléments dans la section « Valeurs » ; les types de données doivent correspondre ou permettre une conversion implicite ;
Dans le cas où il n'y a pas de section « Colonnes », la section « Valeurs » doit contenir le même nombre de valeurs qu'il y a de colonnes totales dans le tableau en cours d'édition, de plus, les valeurs doivent être répertoriées dans le même ordre dans lequel les colonnes du tableau sont déclarées ; Par conséquent, il est recommandé de toujours spécifier explicitement la liste des colonnes auxquelles de nouvelles valeurs seront ajoutées ;
Lors de l'utilisation de la syntaxe (b), la sous-requête SELECT peut être adressée soit à la même table, soit à une autre table de la base de données, soit à une autre base de données du serveur ;
Si une valeur par défaut est spécifiée pour une certaine colonne du tableau et que vous souhaitez utiliser cette valeur dans l'enregistrement ajouté, alors dans la section « Valeurs » de cette colonne, vous devez écrire le mot-clé DEFAULT.
Exemples :
INSERT INTO détail (detail_name)
VALEURS
INSERT INTO supply (supplier_id, supply_quantity, supply_cost,
date_approvisionnement, id_détail)
VALEURS (4, 177, 453,45, "25/09/2009", 1)
INSÉRER le fournisseur (supplier_type, supplier_name)
VALEURS (PAR DÉFAUT, "Smirnov S. S.")
Modification d'enregistrements existants (mise à jour)
Syntaxe générale :
MISE À JOUR<таблица>
ENSEMBLE<столбец> = <значение> [, <столбец> = <значение>]
Exemples :
Poids SET = 210
SET nom_matériau = "Étain"
OÙ ID_matériau = 2
SET Department_id = NULL,
delivery_date = delivery_date + 1 /*augmenter la date de livraison d'un jour
OERE delivery_id = 1 OU Department_id > 3
SET nom_détail = nom_détail + "!!!"
OÙ nom_détail LIKE "_а%" ET poids ENTRE 6 ET 10
Supprimer des enregistrements d'une table (supprimer)
Syntaxe générale :
SUPPRIMER<таблица>
<условие>
Exemples :
OÙ détail_id DANS (2, 5, 8)
OÙ le poids EST NULL
Exercice:
Remplissez la base de données à l’aide de ManagementStudio. Pour ce faire, utilisez la commande « Ouvrir la table » du menu contextuel de la table dans le « Navigateur d'objets » (Fig. 4.1).
Requêtes de récupération
Syntaxe générale des requêtes de sélection
SÉLECTIONNER<список столбцов>
DEPUIS<таблица(-ы) источник>
Les clauses SELECT et FROM doivent être présentes dans chaque requête ; d'autres sections peuvent être absentes ou partiellement présentes.
Exemples d'implémentation de requêtes
Les requêtes les plus simples :
1. Sélectionnez le nom et le poids des pièces
Riz. 5.1. Résultats de la requête n°1
2. Sélectionnez toutes les informations de la table des matériaux
Riz. 5.2. Résultats de la requête n°2
Unicité DISTINCT
3. Sélectionnez des codes fournisseur uniques dans le tableau des approvisionnements
Riz. 5.3. Résultats de la requête n°3
Contrainte OÙ
4. Sélectionnez la quantité et les dates de livraison de la pièce avec le code 1
Riz. 5.4. Résultats de la requête n°4
5. Sélectionnez les noms des fournisseurs avec les codes 1, 4 et 6
Riz. 5.5. Résultats de la requête n°5
6. Sélectionnez toutes les informations sur les livraisons effectuées avant le 1er octobre 2009
Riz. 5.6. Résultats de la requête n°6
7. Sélectionnez toutes les informations sur les pièces qui ne commencent pas par la lettre « B » (en tout cas) et dont le poids est inférieur à 50
Riz. 5.7. Résultats de la requête n°7
8. Sélectionnez le nom et le code matériau pour les pièces pesant de 5 à 10 g ou ayant la lettre « n » en troisième position dans le nom
Riz. 5.8. Résultats de la requête n°8
9. Sélectionnez les noms de fournisseurs ne dépassant pas 15 caractères
Riz. 5.9. Résultats de la requête n°9
10. Sélectionnez les mois et les années de fourniture de pièces
Riz. 5.10. Résultats de la requête n°10
Tri ORDER PAR
11. Trier les livraisons d'abord par code fournisseur puis par date de livraison
Riz. 5.11. Résultats de la requête n°11
12. Sélectionnez les noms des fournisseurs avec les codes 4, 6, 8, 9, triés par ordre alphabétique inverse
Riz. 5.12. Résultats de la requête n°12
Agrégation et regroupement GROUP BY
Riz. 5.13. Résultats de la requête n°13
14. Déterminer le poids moyen des pièces en matériau avec le code 2
Riz. 5.14. Résultats de la requête n°2
15. Parmi les livraisons effectuées avant le 1er octobre 2009, sélectionnez la livraison la plus importante et la plus petite
Riz. 5.15. Résultats de la requête n°15
16. Pour les fournisseurs dont les codes sont compris entre 5 et 8, calculez le nombre total de pièces fournies par eux.
Riz. 5.16. Résultats de la requête n°16
Riz. 5.17. Résultats de la requête n°17
Restrictions sur les groupes HAVING
18. Sélectionnez des matériaux pour lesquels le poids total des pièces fabriquées à partir de ceux-ci ne dépasse pas 20
Riz. 5.18. Résultats de la requête n°18
19. Parmi les livraisons de 2008, sélectionnez les pièces qui ont été fournies plus d'une fois
Riz. 5.19. Résultats de la requête n°19
Conversion de typesCASTING
20. Recevez des informations sur les dates de livraison sous forme de texte
Riz. 5.20. Résultats de la requête n°20
21. Obtenez des informations du tableau des pièces sous forme de lignes « La pièce X a un poids Y »
Riz. 5.21. Résultats de la requête n°21
AlternativesCAS
22. Divisez les pièces en pièces légères (pesant jusqu'à 20), moyennes (entre 20 et 50) et lourdes.
Riz. 5.22. Résultats de la requête n°22
Gestion des valeurs NULL
23. Obtenez des informations sur les pièces et leurs poids, et si le poids de la pièce n'est pas spécifié, écrivez -100 au lieu de NULL
Riz. 5.23. Résultats de la requête n°23
Fonction d'existence EXISTE
24. Sélectionnez le nom et le code matériau uniquement des pièces qui ont déjà été fournies.
Riz. 5.24. Résultats de la requête n°24
25. Sélectionnez les noms des matériaux à partir desquels aucune pièce n'est fabriquée
Riz. 5.25. Résultats de la requête n°25
Sous-requêtes
26. Obtenez des informations sur la dernière livraison (par date)
Riz. 5.26. Résultats de la requête n°26
27. Recevoir toutes les livraisons de pièces fabriquées à partir du code matériau 2
Riz. 5.27. Résultats de la requête n°27
28. Pour chaque fournisseur, obtenez des informations sur le tout premier (par date) de sa livraison
Riz. 5.28. Résultats de la requête n°28
29. Pour chaque fournisseur, obtenez son nom et la date de la dernière commande
Riz. 5.29. Résultats de la requête n°29
Joindre des tables avec JOIN
30. Obtenez un tableau du formulaire : nom de la pièce, nom du matériau à partir duquel cette pièce est réalisée
Riz. 17h30. Résultats de la requête n°30
31. Obtenez un tableau tel que : fournisseur, nom de la pièce, quantité et date de livraison pour les pièces qui ont un poids spécifié
Riz. 5.31. Résultats de la requête n°31
32. Sélectionnez toutes les informations sur les pièces qui ont déjà été fournies
Riz. 5.32. Résultats de la requête n°32
Riz. 5.33. Résultats de la requête n°33
34. Sélectionnez les noms des matériaux et des pièces fabriquées à partir d'eux
Riz. 5.34. Résultats de la requête n°34
35. Obtenez toutes les données sur les fournisseurs, les fournitures et les pièces
Riz. 5.35. Résultats de la requête n°35
Rejoindre des tables UNION
36. Obtenez un tableau des noms et des poids des pièces, et la dernière ligne du tableau doit contenir les totaux sous la forme du poids total de toutes les pièces.
Riz. 5.36. Résultats de la requête n°36
37. Obtenez un tableau de deux champs, où le premier champ est le nom de la pièce, du matériau, du fournisseur ou de la date de livraison, et le deuxième champ est la longueur de la ligne du premier champ.
Riz. 5.37. Résultats de la requête n°37