SQL Grundkurs 1: Die Sprache erlernen

Tabelle über ein SELECT erstellen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Nutzen Sie die Variante, eine Tabelle aus einer anderen bestehenden Tabelle über ein SELECT-Statement zu generieren. Natürlich können Sie dazu auch mehrere Tabellen joinen und die neu erstellte Tabelle gleich auch schon mit Daten befüllen. Dieser Film zeigt Ihnen, mit welcher Syntax Sie dies bei den drei verwendeten Datenbanksystemen angehen.

Transkript

Eine Tabelle kann auch über ein SELECT-Statement erzeugt werden. Wie das geht, zeige ich Ihnen in diesem Film. Eine Tabelle über ein SELECT-Statement zu erzeugen, macht dann Sinn, wenn diese Tabelle auch Daten aus einer Tabelle mit übernehmen soll, auf die sich das SELECT-Statement bezieht. Das ist manchmal ganz praktisch, wenn man sich Testdaten erzeugen möchte oder einen Datenauszug für weitere Auswertungen. Die Syntax dazu ist bei MySQL und Oracle ident. Beim SQL-Server weicht sie etwas ab. Das werden wir uns im Anschluss anschauen. Starten wir hier mit MySQL. Mit der Anweisung "CREATE TABLE" legen wir los, so wie bei einem klassischem CREATE TABLE-Commander auch. Und wir vergeben auch, wie gewohnt, den Namen für diese Tabelle, zum Beispiel den Namen "Besteck." Ich möchte jetzt aus der Artikel-Tabelle alle Artikel der Gruppe Besteck auswählen und als neue Tabelle speichern. "S" schreibe ich dahinter, und nun kommt ein SELECT-Statement. Typischerweise rückt man da hier um einen Tabulator ein, damit das gut lesbar ist, und ich "SELECT *", also ich wähle alle Spalten hier aus; könnte natürlich hier auch einzelne Spalten auswählen, hier auch Alias-Namen verwenden, Berechnungen etc. Alles das, was ein SELECT-Statement hergibt, kann hier verwendet werden. "FROM wave" und "Artikel" ist der Name der Tabelle und nicht alles, sondern nur jene der Artikelgruppe "Besteck", also "WHERE Gruppe = BE." Wenn ich diese Anweisung nun ausführe Das sind zwei Dinge: Einerseits wird gemäß der Struktur, die das "SELECT" liefert, eine neue Tabelle erzeugt, und die Daten, die hier mit übergeben werden, werden in diese Tabelle gleich eingespielt. Ich starte diese Anweisung. Unter Output sehen wir, dass das Ganze erfolgreich gewesen ist. Aktualisieren wir noch die Anzeige hier in unserem graphischen Tool. Dann sehen wir, dass auch hier die Tabelle "Besteck" schon vorhanden ist. Zeigen wir uns den Inhalt an: "SELECT * FROM wave.Besteck", dann sehen wir, dass jetzt hier 20 Datensätze, mehr gibt es in dieser Artikelgruppe nicht, gleich hier eingefügt worden sind. Ein Tipp an dieser Stelle: Sie können diese Variante auch dann verwenden, wenn Sie eigentlich gar keine Daten in die neue Tabelle einspielen möchten, sondern sich nur schnell die Struktur erzeugen möchten oder die Struktur einer Tabelle kopieren möchten. Dazu müssen Sie lediglich eine WHERE-Klausel definieren, die keine Zeilen liefert. Ich nenne diese Tabelle einfach einmal "Garten" und definiere jetzt hier eine WHERE-Klausel mit XX als Artikelgruppe, die mir keine Zeilen liefert. Wenn ich nun diese Anweisung ausführe, wird sehr wohl eine Tabelle erzeugt, nämlich die Tabelle "Garten", hier sehen wir sie, aber diese Tabelle ist leer, weil aufgrund der WHERE-Klausel keine Daten in diese Tabelle mit übernommen worden ist. Auf die Art und Weise können Sie sehr schnell eine leere Kopie einer Tabelle erzeugen. Die Syntax für diese Anweisung ist bei Oracle-Systemen ident. Das heißt, auch auf diese Art und Weise können wir hier eine Tabelle erzeugen, die wir hier auch sehen, wenn wir das graphische Tool aktualisieren. "Besteck", hier ist sie. Die Struktur wird hier vom Editor auch angezeigt. Zur Kontrolle lesen wir hier den Inhalt aus. Etwas anders ist die Syntax beim Microsoft SQL Server. Wir verwenden dasselbe SELECT-Statement. Allerdings wird diese Tabelle nun nicht mit der CREATE TABLE-Anweisung erzeugt, sondern hier wird zwischen "SELECT" und "FROM" eine neue Klausel eingefügt, nämlich die Klausel "INTO". Hinter dieses "INTO" wird der Name für diese neue Tabelle gesetzt. In dem Fall "Wave.Besteck." Alles andere bleibt gleich, das SELECT-Statement als solches ändert sich nicht. Dadurch wird das Ergebnis in Form dieser neuen Tabelle "Besteck" erzeugt werden. Ich führe die Anweisung aus. Sie sehen: "20 Zeilen betroffen",  zeigt er mir gleich an. Damit weiß ich auch, dass jetzt 20 Zeilen hier in diese neue Tabelle auch eingefügt wurden. Geben wir uns auch den Inhalt dieser Tabelle zum Test noch einmal aus, indem wir die SELECT-Anweisung ausführen. Damit sehen wir, dass wirklich physisch diese Datensätze kopiert worden sind. Sie haben in diesem Video nun gesehen, wie man über ein SELECT-Statement auf sehr einfache Art und Weise eine neue Tabelle erstellen kann. Beim Microsoft SQL Server ergänzen Sie dazu innerhalb des SELECT-Statements eine INTO-Klausel mit dem Namen der neuen Tabelle zwischen  "SELECT" und "FROM". Bei Oracle und MySQL setzen Sie einfach vor das SELECT-Statement eine CREATE TABLE-Anweisung, gefolgt von einem S. Damit wird diese neue Tabelle sofort im System erzeugt.

SQL Grundkurs 1: Die Sprache erlernen

Arbeiten Sie sich in die Grundlagen der Datenbanksprache SQL am Beispiel von Microsoft SQL Server, Oracle und MySQL ein und lassen Sie sich die praktische Nutzung erklären.

14 Std. 40 min (112 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!