SQL Grundkurs 1: Die Sprache erlernen

Alle Spalten ausgeben

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Für den ersten Überblick schadet es nie, sich einfach einmal alles ausgeben zu lassen - sehen Sie hier, wie das geht, und die Unterschiede in den verschiedenen Datenbank-Management-Systemen.

Transkript

Um alle Spalten einer Tabelle anzuzeigen, müssen nicht zwangsweise alle Spaltennamen händisch eingetippt werden. Wie das geht, zeige ich Ihnen in diesem Film. Um alle Spalten einer Tabelle auszugeben, verwenden Sie in der SELECT-Klausel anstelle der einzelnen Spaltennamen schlichtweg und einfach ein Stern-Symbol. "SELECT * FROM", und z.B. "wawi.Artikelgruppen" wird uns den kompletten Inhalt der Tabelle "Artikelgruppen", wenn wir die Anweisung ausführen, anzeigen. Wenn wir den Stern verwenden, werden alle Spalten in dieser Reihenfolge so, wie sie in der Datenbank angeführt sind, ausgegeben, das heißt das ist schnellste Methode, um den kompletten Inhalt einer Tabelle sich anzuzeigen, indem wir einfach "SELECT * " eingeben, "FROM" und dann den entsprechenden Tabellennamen, ich nehme z.B. die Artikeltabelle, die weist noch wesentlich mehr Spalten auf als die Tabelle "Artikelgruppen", und führe diese Anweisung aus. Und dann sehen wir, dass alle Spalten genau so, wie sie in der Struktur definiert sind, genau in dieser Reihenfolge, hier auch ausgegeben werden. In der SELECT-Klausel können aber nicht nur Spalten ausgegeben werden, sondern es können auch Ausdrücke verwendet werden. Ausdrücke-- man könnte auch sagen "berechnende Spalten". Ich verwende ein ganz einfaches Beispiel. Ich verwende die Anweisung "SELECTSYSDATETIME()", um mittels der gleichnamigen Funktion die aktuelle Systemzeit auszugeben. Ich habe also hier weder einen Spaltennamen, noch einen Stern verwendet, und dennoch habe ich ein Ergebnis erzielt. Was jetzt auffällig hier ist, dass ich jetzt hier außerdem keine FROM-Klausel verwendet habe. Denn in diesem Fall, wo ich ausschließlich einen Ausdruck ausgebe, benötige ich ja keine Herkunft, weil die Systemzeit, die hier ausgegeben wird, stammt ja nicht aus irgendeiner Tabelle. Das Gleiche gibt es natürlich in ähnlicher Form auch bei den anderen Datenbankmanagement-Systemen. Ich wechsle jetzt einmal hier zu MySQL und verwende die Anweisung "SELECT NOW()" und erzeuge damit dasselbe Ergebnis. Ich führe die Anweisung aus. Jetzt habe ich hier die aktuelle Systemzeit ebenso ausgegeben. Auch hier habe ich keine FROM-Klausel verwendet. Die Unterschiede sind also hier nur in dem Namen der Funktion, weil Funktionsnamen werden nicht über den ANSI-Standard gleich behandelt, sondern die sind produktabhängig. Sehen wir uns nun das Ganze noch bei Oracle an, denn hier gibt es eine Besonderheit. Auch hier können wir natürlich, wie bei den anderen Systemen auch, mit "SELECT * FROM wawi.Artikel" den kompletten Inhalt der Tabelle ausgeben. Worin besteht aber nun die Besonderheit? Die Besonderheit besteht bei Oracle darin, dass Oracle ein SELECT ohne FROM nicht zulässt. Z.B. wenn ich sage "SELECT SYSDATE". SYSDATE ist die Funktion hier bei Oracle, die mir die Systemzeit liefert und führe sie aus. Dann bekomme ich eine Fehlermeldung: "FROM-Keyword not found where expected", weil das FROM eben fehlt. Jetzt werden Sie sagen: "Naja, was sollte ich denn hier in ein FROM hineinschreiben? Denn die Systemzeit kommt ja eigentlich nicht aus einer Tabelle." Dem ist auch so. Bei Oracle gibt es jetzt für all die Fälle, wo man eigentlich keine Tabelle bräuchte, eine Spezialtabelle mit dem Namen DUAL. Diese Nullsatztabelle verwendet man immer dann - die wird systemseitig zur Verfügung gestellt - wie gesagt, wenn man eben eigentlich keine benötigen würde. Also, "SELECT SYSDATE FROM DUAL" und ich führe die Anweisung nun aus, führt dazu, dass wir auch hier die Systemzeit angezeigt bekommen. Standardmäßig wird nur das Datum, und nicht die Uhrzeit mit angezeigt, obwohl die Funktion SYSDATE diese liefert. Das ist aber eine Formateinstellung, die wir an einer anderen Stelle kennenlernen werden. Falls Sie sich nun fragen, warum ich hinter der Funktion SYSDATE, wie sonst bei Funktionen üblich, nicht das Klammernpaar angebe: das hängt damit zusammen-- auch das ist eine Besonderheit von Oracle, dass bei Funktionen, die keinen Übergabeparameter haben, diese Klammern wegzulassen sind. Das heißt SYSDATE wird einfach nur so angegeben. Verwenden Sie also immer dann, wenn Sie alle Spalten einer Tabelle ausgeben möchten, in der SELECT-Klausel einfach und schlichtweg einen Stern, und wenn Sie einen Ausdruck verwenden, der nicht auf Daten zugreift, sondern einfach nur etwas berechnet, wie z.B. die Systemzeit, können Sie - außer bei Oracle - die FROM-Klausel weglassen. Bei Oracle verwenden Sie immer dann, wenn Sie eigentlich keine Tabelle benötigen, die Systemtabelle DUAL.

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!