Dies ist eine alte Version des Dokuments!


Daten mit SQL abfragen

Das SELECT-Statement ist das am häufigsten verwendete SQL-Kommando. Mit

SELECT

können Daten in verschiedenen Varianten ausgegeben werden:

  • alle Spalten
  • bestimmte Spalten
  • mit Filterbedingungen
  • sortiert

Die einfachste Abfrageform ist:

SELECT * FROM imdb_top_1000;

Dies gibt alle Spalten und alle Zeilen der Tabelle zurück.

Beispielauszug (die tatsächliche Tabelle hat noch mehr Spalten):

Poster Filmtitel Jahr Genre Rating Kurzbeschreibung
mv5bm2mynjyxnmutytawni00mtyxlwjmnwytyzzlody3ztk3otflxkeyxkfqcgdeqxvynzkwmjq5nzm_._v1_uy98_cr1_0_67_98_al_.jpg The Godfather 1972 Crime, Drama 9.2 An organized crime dynasty's aging patriarch transfers control of his clandestine empire to his reluctant son.
mv5bzjdkotu3mdktn2ixos00ogeylwfmmjkty2fimmzknwiyodzixkeyxkfqcgdeqxvymtmxodk2otu_._v1_ux67_cr0_0_67_98_al_.jpg Interstellar 2014 Adventure, Drama, Sci-Fi 8.6 A team of explorers travel through a wormhole in space in an attempt to ensure humanity's survival.
mv5bmtuxmzqynja5mf5bml5banbnxkftztywotu2nty3._v1_ux67_cr0_0_67_98_al_.jpg The Green Mile 1999 Crime, Drama, Fantasy 8.6 The lives of guards on Death Row are affected by one of their charges: a black man accused of child murder and rape, yet who has a mysterious gift.
mv5bota5ndzlzgutmjaxos00ytrkltkwymmtywq0nwewzdzinjezxkeyxkfqcgdeqxvymtmxodk2otu_._v1_ux67_cr0_0_67_98_al_.jpg Whiplash 2014 Drama, Music 8.5 A promising young drummer enrolls at a cut-throat music conservatory where his dreams of greatness are mentored by a strict instructor.

Wenn nur bestimmte Daten benötigt werden, empfiehlt es sich, die Spalten explizit anzugeben:

SELECT Series_Title, Released_Year, IMDB_Rating
FROM imdb_top_1000;

Beispielauszug:

Filmtitel Jahr Bewertung
The Godfather 1972 9.2
Interstellar 2014 8.6
The Green Mile 1999 8.6
Whiplash 2014 8.5

Mit

ORDER BY

können Ergebnisse sortiert werden.

-- Die Filme nach Erscheinungsjahr sortieren
SELECT Series_Title, Released_Year, IMDB_Rating
FROM imdb_top_1000
ORDER BY Released_Year ASC;

Oder umgekehrt, die besten Filme zuerst:

SELECT Series_Title, Released_Year, IMDB_Rating
FROM imdb_top_1000
ORDER BY IMDB_Rating DESC;

Nicht immer sind alle Daten interessant – mit

WHERE

können Bedingungen definiert werden.

-- Alle Filme mit Bewertung über 8.5
SELECT Series_Title, IMDB_Rating
FROM imdb_top_1000
WHERE IMDB_Rating > 8.5;

Ergebnis (Auszug):

Filmtitel Bewertung
The Godfather 9.2
The Green Mile 8.6
Interstellar 8.6

Im

WHERE

-Statement können verschiedene Operatoren eingesetzt werden, um die Auswahl von Datensätzen einzuschränken.

  • Vergleichsoperatoren:
    = , < , > , <= , >= , <>

→ werden vor allem bei Zahlen verwendet.

  Beispiel: nur Filme anzeigen, die **vor 1970** erschienen sind.  
SELECT Series_Title, Released_Year
FROM imdb_top_1000
WHERE Released_Year < 1970;

  • Logische Verknüpfungen:
    AND, OR, NOT

→ verbinden mehrere Bedingungen.

  Beispiel: Filme von Regisseuren //Christopher Nolan// **oder** //Francis Ford Coppola//:  
SELECT Series_Title, Director
FROM imdb_top_1000
WHERE Director = 'Christopher Nolan' OR Director = 'Francis Ford Coppola';

Mit

AND

kann man Bedingungen kombinieren, z. B.:

-- Alle Sci-Fi-Filme von Christopher Nolan
SELECT Series_Title, Director, Genre
FROM imdb_top_1000
WHERE Director = 'Christopher Nolan' AND Genre LIKE '%Sci-Fi%';

  • IN-Operator:
    IN, NOT IN

→ vereinfacht Abfragen mit vielen Bedingungen.

-- Filme von Nolan oder Coppola
SELECT Series_Title, Director
FROM imdb_top_1000
WHERE Director IN ('Christopher Nolan', 'Francis Ford Coppola');

Das Gegenteil mit

NOT IN

:

-- Alle Filme, die NICHT von Nolan oder Coppola sind
SELECT Series_Title, Director
FROM imdb_top_1000
WHERE Director NOT IN ('Christopher Nolan', 'Francis Ford Coppola');
  • SELECT

    – bestimmt die Spalten

  • FROM

    – bestimmt die Tabelle

  • WHERE

    – filtert die Zeilen

  • ORDER BY

    – sortiert die Ergebnisse

Mit diesen Befehlen sind die wichtigsten Grundlagen für Abfragen in relationalen Datenbanken gelegt.

  • modul/m290_guko/learningunits/lu02/theorie/b_sql_select.1756040931.txt.gz
  • Zuletzt geändert: 2025/08/24 15:08
  • von gkoch