Instructions SQL Select: exemples de Select Distinct, Select Into, Insert into, etc.

Clauses Select et From

La partie SELECT d'une requête consiste normalement à déterminer les colonnes des données à afficher dans les résultats. Il existe également des options que vous pouvez appliquer pour afficher des données qui ne sont pas une colonne de table.

Cet exemple montre trois colonnes sélectionnées dans le tableau «étudiant» et une colonne calculée. La base de données stocke l'ID étudiant, le prénom et le nom de l'étudiant. Nous pouvons combiner les colonnes Prénom et Nom pour créer la colonne calculée FullName.

select studentID, FirstName, LastName, FirstName + ' ' + LastName as FullName from student;
+-----------+-------------------+------------+------------------------+ | studentID | FirstName | LastName | FullName | +-----------+-------------------+------------+------------------------+ | 1 | Monique | Davis | Monique Davis | | 2 | Teri | Gutierrez | Teri Gutierrez | | 3 | Spencer | Pautier | Spencer Pautier | | 4 | Louis | Ramsey | Louis Ramsey | | 5 | Alvin | Greene | Alvin Greene | | 6 | Sophie | Freeman | Sophie Freeman | | 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd | | 8 | Donald D. | Chamberlin | Donald D. Chamberlin | | 9 | Raymond F. | Boyce | Raymond F. Boyce | +-----------+-------------------+------------+------------------------+ 9 rows in set (0.00 sec)

* Comme pour toutes ces choses SQL, il y en a BEAUCOUP PLUS à leur sujet que ce que contient ce guide d'introduction.

J'espère que cela vous en donne au moins assez pour commencer.

Veuillez consulter le manuel de votre gestionnaire de base de données et amusez-vous à essayer différentes options vous-même.

Instruction SQL Select Distinct

introduction

Ce mot-clé nous permet d'obtenir des listes de valeurs uniques dans une colonne. Ce guide le démontrera.

Affichage complet des données dans la table des étudiants

USE fcc_sql_guides_database; SELECT studentID, FullName, sat_score, programOfStudy, rcd_Created, rcd_Updated FROM student;
+-----------+------------------------+-----------+------------------+---------------------+---------------------+ | studentID | FullName | sat_score | programOfStudy | rcd_Created | rcd_Updated | +-----------+------------------------+-----------+------------------+---------------------+---------------------+ | 1 | Monique Davis | 400 | Literature | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 3 | Spencer Pautier | 1000 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 | | 7 | Edgar Frank "Ted" Codd | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | | 8 | Donald D. Chamberlin | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 | +-----------+------------------------+-----------+------------------+---------------------+---------------------+ 9 rows in set (0.00 sec)

Obtenir la liste des domaines d'études

SELECT DISTINCT programOfStudy FROM student;
+------------------+ | programOfStudy | +------------------+ | Literature | | Programming | | Computer Science | +------------------+ 3 rows in set (0.00 sec)

Comme pour toutes ces choses SQL, il y en a BEAUCOUP PLUS à leur sujet que ce qui est dans ce guide d'introduction.

J'espère que cela vous en donne au moins assez pour commencer.

Veuillez consulter le manuel de votre gestionnaire de base de données et amusez-vous à essayer différentes options vous-même.

SQL Select into Statement

L' SELECT INTOinstruction est une requête qui vous permet de créer une nouvelle table et de la remplir avec l'ensemble de résultats d'un SELECT statement. Pour ajouter des données à une table existante, consultez plutôt l'instruction INSERT INTO.

SELECT INTO peut être utilisé lorsque vous combinez des données de plusieurs tables ou vues dans une nouvelle table.1 La table d'origine n'est pas affectée.

La syntaxe générale est:

SELECT column-names INTO new-table-name FROM table-name WHERE EXISTS (SELECT column-name FROM table-name WHERE condition)

Cet exemple montre un ensemble d'une table qui a été «copiée» de la table «Fournisseur» vers une nouvelle table appelée SupplierUSA qui contient l'ensemble lié au pays de la colonne de valeur «USA».

SELECT * INTO SupplierUSA FROM Supplier WHERE Country = 'USA';

Résultats : 4 lignes affectées 2

IDCompanyNameContactNameCityCountryThone2New Orleans Cajun DelightsShelley BurkeNouvelle-OrléansUSA (100) 555-48223Grandma Kelly's HomesteadRegina MurphyAnn ArborUSA (313) 555-573516Bigfoot BreweriesCheryl SaylorBendUSANULL19New England Seafood Cannery 617Arborbost

Veuillez consulter le manuel de votre gestionnaire de base de données et amusez-vous à essayer différentes options vous-même.

Insertion SQL dans l'instruction

Pour insérer un enregistrement dans une table, vous utilisez l' INSERT INTOinstruction.

Vous pouvez le faire de deux manières, si vous souhaitez insérer des valeurs uniquement dans certaines colonnes, vous devez répertorier leurs noms en incluant toutes les colonnes obligatoires. La syntaxe est:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

L'autre méthode consiste à insérer des valeurs dans toutes les colonnes de la table, il n'est pas nécessaire de spécifier les noms des colonnes. La syntaxe est:

INSERT INTO table_name VALUES (value1, value2, value3, ...);

Voici un exemple d'insertion d'un enregistrement dans la table Person de deux manières:

INSERT INTO Person VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’);

Et

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’);

Certaines versions de SQL (par exemple, MySQL) prennent en charge l'insertion de plusieurs lignes à la fois. Par exemple:

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’), (2, ‘Paul McCartney’, ‘1942-06-18’, ‘M’), (3, ‘George Harrison’, ‘1943-02-25’, ‘M’), (4, ‘Ringo Starr’, ‘1940-07-07’, ‘M’)

Notez que toute la requête d'origine reste intacte - nous ajoutons simplement des lignes de données entourées de paranthèses et séparées par des virgules.

Insertion SQL dans l'instruction Select

Vous pouvez insérer des enregistrements dans une table à l'aide de données déjà stockées dans la base de données. Ce n'est qu'une copie des données et cela n'affecte pas la table d'origine.

L' INSERT INTO SELECTinstruction combine INSERT INTOet SELECTinstructions et vous pouvez utiliser toutes les conditions que vous souhaitez. La syntaxe est:

INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;

Voici un exemple qui insère dans le tableau Personne tous les étudiants de sexe masculin du tableau Étudiants.

INSERT INTO Person(Id, Name, DateOfBirth, Gender) SELECT Id, Name, DateOfBirth, Gender FROM Students WHERE Gender = ‘M’

Other SQL resources:

  • SQL and Databases full video course
  • Basic SQL commands you should know