Der wahrscheinlich wichtigste Befehl für den Zugriff auf Datenbankinhalte ist der Select-Befehl. Fangen wir gleich mit dem einfachsten Select-Befehl an. Unser Daten liegen in der Datenbanktabelle ‚Personen‘.

Einfache Select-Anweisungen beginnen immer mit dem Schlüsselwort SELECT. Danach folgt eine Auflistung aller Spalten, die man zurückgeliefert bekommen will und zum Abschluß die Datenbanktabelle in der die Daten liegen. Daraus ergibt sich nun folgender Select-Befehl:

select id, name, vorname from personen;

Wir beginnen mit select, wobei es egal ist, ob groß oder klein geschrieben. Anschließend die gewünschten Spalten der Tabelle gefolgt von from als Beginn für den Tabellennamen.

ID Name Vorname
1 Mustermann Klaus
2 Musterfrau Elke
3 Musterkind Heinz
4 Musterkind Karl

Um alle Spalten einer Tabelle zu bekommen, ist es nicht zwingend jede Spalte anzugeben. Stattdessen gibt es den Stellvertreter ‚*‚.

Der Select-Befehl sieht dann folgendermaßen aus: select * from personen;

Als Nächstes wollen wir unsere SQL-Abfrage auf bestimmte Inhalte der Tabelle beschränken. Wir wollen nun alle Einträge angezeigt bekommen, bei denen in der Spalte ‚Name‘ der Wert ‚Musterkind‘ steht. Für diese Einschränkung gibt es das Schlüsselwort where.

Wir wollen wieder alle Spalten angezeigt bekommen und haben somit:

select * from personen where name = ‚Musterkind‘;

Nach der where-Bedingung kommt der Name der Spalte auf die eingeschränkt werden soll. Darauf folgt der Operator, hier ‚=‘ und dann mit Anführungszeichen eingeschlossen der gesuchte Wert (Musterkind). Als Ergebnis würde nun die Datensätze mit der ID 3 und 4 angezeigt werden.

Eine weitere Einschränkung, so dass beide Einschränkungen erfüllt sein müssen, werden mit ‚and‚ angefügt:

select * from personen where name = ‚Musterkind‘ and vorname = ‚Heinz‘;

Als Ergebnis würde hier nun der Datensatz mit der ID 3 erscheinen.

Um die Anzahl der Ergebniseinträge eines Select-Befehls zu bekommen gibt es count:

select count(*) as anzahl from personen;

Hier würde eine Ergebnisspalte mit Namen ‚anzahl‘ mit dem Wert 4 als Ergebnis erscheinen. Hier kann man auch sehen, dass man für eine Ergebnisspalte auch Aliasnamen mit as vergeben kann. Mit as liest sich die Select-Anweisung leichter, kann aber sogar weggelassen werden.

Desweitern gibt es distinct: Damit kann man doppelte Einträge in der Ergebnismenge entfernen:

select distinct name from personen;

Name
Mustermann
Musterfrau
Musterkind

Damit entfällt einmal der Name ‚Musterkind‘. Würde zusätzlich die ID-Spalte im Ergebnis mit auftauchen, so würde dieser 4. Eintrag wieder auftauchen, da nun kein doppelter Eintrag in der Ergebnismenge vorkommen würde.

select distinct id, name from personen;

 Antworten

 
Impressum Suffusion theme by Sayontan Sinha