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 Drama-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.

  • Arithmetische Operatoren:
    <, >, =, <=, >=, !=
  • Logische Operatoren:
    AND, OR, NOT
  • Spezifische Operatoren:
    IN, NOT IN, LIKE

Beispiele:

-- Alle Filme von 1990 bis 1999
SELECT Series_Title, Released_Year
FROM imdb_top_1000
WHERE Released_Year BETWEEN 1990 AND 1999;
-- Filme von Nolan oder Coppola
SELECT Series_Title, Director
FROM imdb_top_1000
WHERE Director IN ('Christopher Nolan', 'Francis Ford Coppola');
-- Alle Filme, deren Titel mit 'The' beginnt
SELECT Series_Title, Released_Year
FROM imdb_top_1000
WHERE Series_Title LIKE 'The%';

SQL stellt hilfreiche Funktionen zur Verfügung:

  • Anzahl Datensätze zählen:
SELECT COUNT(*) FROM imdb_top_1000;
  • Durchschnittliche Bewertung:
SELECT AVG(IMDB_Rating) FROM imdb_top_1000;
  • Höchste Bewertung:
SELECT MAX(IMDB_Rating) FROM imdb_top_1000;
  • Gruppierung nach Regisseur:
    SELECT Director, AVG(IMDB_Rating) AS avg_rating
    FROM imdb_top_1000
    GROUP BY Director
    ORDER BY avg_rating DESC;
 

  • SELECT

    – bestimmt die Spalten

  • FROM

    – bestimmt die Tabelle

  • WHERE

    – filtert die Zeilen

  • ORDER BY

    – sortiert die Ergebnisse

  • GROUP BY

    – fasst Daten zusammen

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


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