SQL Select-Anweisungen: Beispiele für Select Distinct, Select Into, Insert in und More

Select- und From-Klauseln

Der SELECT-Teil einer Abfrage dient normalerweise dazu, zu bestimmen, welche Spalten der Daten in den Ergebnissen angezeigt werden sollen. Es gibt auch Optionen, die Sie anwenden können, um Daten anzuzeigen, die keine Tabellenspalte sind.

Dieses Beispiel zeigt drei Spalten, die aus der Tabelle "Schüler" ausgewählt wurden, und eine berechnete Spalte. In der Datenbank werden die studentID, der Vorname und der Nachname des Schülers gespeichert. Wir können die Spalten Vorname und Nachname kombinieren, um die berechnete Spalte FullName zu erstellen.

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)

* Wie bei all diesen SQL-Dingen steckt VIEL MEHR dahinter als in diesem Einführungshandbuch.

Ich hoffe, das gibt Ihnen zumindest genug, um loszulegen.

Bitte lesen Sie das Handbuch für Ihren Datenbankmanager und haben Sie Spaß daran, verschiedene Optionen selbst auszuprobieren.

SQL Select Distinct Statement

Einführung

Mit diesem Schlüsselwort können wir Listen mit eindeutigen Werten in einer Spalte abrufen. Dieser Leitfaden wird dies demonstrieren.

Vollständige Anzeige der Daten in der Schülertabelle

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)

Liste der Studienfächer abrufen

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

Wie bei all diesen SQL-Dingen steckt VIEL MEHR dahinter als in diesem Einführungshandbuch.

Ich hoffe, das gibt Ihnen zumindest genug, um loszulegen.

Bitte lesen Sie das Handbuch für Ihren Datenbankmanager und haben Sie Spaß daran, verschiedene Optionen selbst auszuprobieren.

SQL Select in Anweisung

Die SELECT INTOAnweisung ist eine Abfrage, mit der Sie eine neue Tabelle erstellen und mit der Ergebnismenge von a füllen können SELECT statement. Informationen zum Hinzufügen von Daten zu einer vorhandenen Tabelle finden Sie stattdessen in der Anweisung INSERT INTO.

SELECT INTO kann verwendet werden, wenn Sie Daten aus mehreren Tabellen oder Ansichten in einer neuen Tabelle kombinieren.1 Die ursprüngliche Tabelle ist nicht betroffen.

Die allgemeine Syntax lautet:

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

Dieses Beispiel zeigt einen Satz einer Tabelle, die aus der Tabelle "Lieferant" in einen neuen mit dem Namen "SupplierUSA" "kopiert" wurde, der den Satz enthält, der sich auf das Spaltenland mit dem Wert "USA" bezieht.

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

Ergebnisse : 4 Zeilen betroffen 2

IDCompanyNameContactNameCityCountryPhone2New Orleans Cajun DelightsShelley BurkeNew OrleansUSA (100) 555-48223Grandma Kellys HomesteadRegina MurphyAnn ArborUSA (313) 555-573516Bigfoot BreweriesCheryl SaylorBendUSANULL19Nob EnglandBierBier7BarUSlorBendUSANULL19Nob EnglandBierBier

Bitte lesen Sie das Handbuch für Ihren Datenbankmanager und haben Sie Spaß daran, verschiedene Optionen selbst auszuprobieren.

SQL In Anweisung einfügen

Um einen Datensatz in eine Tabelle einzufügen, verwenden Sie die INSERT INTOAnweisung.

Sie können dies auf zwei Arten tun: Wenn Sie Werte nur in einige Spalten einfügen möchten, müssen Sie deren Namen einschließlich aller obligatorischen Spalten auflisten. Die Syntax lautet:

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

Die andere Möglichkeit besteht darin, Werte in alle Spalten der Tabelle einzufügen. Es ist nicht erforderlich, die Spaltennamen anzugeben. Die Syntax lautet:

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

Hier ist ein Beispiel für das Einfügen eines Datensatzes in die Tabelle Person auf beide Arten:

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

Und

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

Einige SQL-Versionen (z. B. MySQL) unterstützen das gleichzeitige Einfügen mehrerer Zeilen. Zum Beispiel:

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’)

Beachten Sie, dass die gesamte ursprüngliche Abfrage intakt bleibt. Wir fügen einfach Datenzeilen hinzu, die durch Klammern eingeschlossen und durch Kommas getrennt sind.

SQL In Select-Anweisung einfügen

Sie können Datensätze in eine Tabelle einfügen, indem Sie Daten verwenden, die bereits in der Datenbank gespeichert sind. Dies ist nur eine Kopie der Daten und hat keinen Einfluss auf die Ursprungstabelle.

Die INSERT INTO SELECTAnweisung kombiniert INSERT INTOund SELECTAnweisungen und Sie können beliebige Bedingungen verwenden. Die Syntax lautet:

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

Hier ist ein Beispiel, das alle männlichen Schüler aus der Tabelle Schüler in die Tabelle Person einfügt.

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