Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:learningunits:lu02:theorie:b_sql_select [2025/08/27 17:42] gkochmodul:m290_guko:learningunits:lu02:theorie:b_sql_select [2025/08/31 11:27] (aktuell) gkoch
Zeile 4: Zeile 4:
 ===== Daten abfragen ===== ===== Daten abfragen =====
 Das //SELECT//-Statement ist das am häufigsten verwendete SQL-Statement.   Das //SELECT//-Statement ist das am häufigsten verwendete SQL-Statement.  
-Mit <WRAP center box 80%><code sql>SELECT</code></WRAP> können Daten in verschiedenen Varianten ausgegeben werden:  +Mit <WRAP center box round 80%><code sql>SELECT</code></WRAP> können Daten in verschiedenen Varianten ausgegeben werden:  
   * alle Spalten     * alle Spalten  
   * bestimmte Spalten     * bestimmte Spalten  
Zeile 14: Zeile 14:
 Die einfachste Abfrageform ist:   Die einfachste Abfrageform ist:  
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 SELECT * FROM imdb_top_1000; SELECT * FROM imdb_top_1000;
 </code></WRAP> </code></WRAP>
Zeile 32: Zeile 32:
  
 ===== Bestimmte Spalten ausgeben ===== ===== Bestimmte Spalten ausgeben =====
-Wenn nur bestimmte Daten benötigt werden, empfiehlt es sich, die Spalten **explizit** anzugeben:  +Wenn nur bestimmte Daten benötigt werden, empfiehlt es sich, die Spalten **explizit** anzugeben. Die Spalten werden mit **Kommas (,)** getrennt:  
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 SELECT Series_Title, Released_Year, IMDB_Rating SELECT Series_Title, Released_Year, IMDB_Rating
 FROM imdb_top_1000; FROM imdb_top_1000;
Zeile 41: Zeile 41:
  
 Beispielauszug:   Beispielauszug:  
-<WRAP center box 80%>+<WRAP center box round 80%>
 ^ Filmtitel ^ Jahr ^ Bewertung ^ ^ Filmtitel ^ Jahr ^ Bewertung ^
 | The Godfather | 1972 | 9.2 | | The Godfather | 1972 | 9.2 |
Zeile 53: Zeile 53:
 Mit //ORDER BY// können Ergebnisse sortiert werden.   Mit //ORDER BY// können Ergebnisse sortiert werden.  
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 -- Die Filme nach Erscheinungsjahr sortieren -- Die Filme nach Erscheinungsjahr sortieren
 SELECT Series_Title, Released_Year, IMDB_Rating SELECT Series_Title, Released_Year, IMDB_Rating
Zeile 60: Zeile 60:
 </code></WRAP> </code></WRAP>
  
-Oder umgekehrt, die besten Filme zuerst:  +Mit //ASC// (engl. ascending = Aufsteigend) oder //DESC// (engl. descending = Absteigend) kann die Sortierung bestimmt werden.
  
-<WRAP center box 80%><code sql>+Die besten Filme zuerst:   
 + 
 +<WRAP center box round 80%><code sql>
 SELECT Series_Title, Released_Year, IMDB_Rating SELECT Series_Title, Released_Year, IMDB_Rating
 FROM imdb_top_1000 FROM imdb_top_1000
Zeile 70: Zeile 72:
  
 ===== Abfragen filtern ===== ===== Abfragen filtern =====
-Nicht immer sind alle Daten interessant – mit //WHERE// können Bedingungen definiert werden.   +Nicht immer sind alle Daten interessant – **mit //WHERE// können Bedingungen definiert** werden.   
-Während die bisher behandelten SELECT- und FROM-Anweisungen in jedem SELECT-Befehl vorkommen müssen, ist die WHERE-Anweisung optional.+Während die bisher behandelten //SELECT//- und //FROM//-Anweisungen in jedem //SELECT//-Befehl vorkommen müssen, ist die **WHERE-Anweisung optional**.
 Wegen seiner wichtigen Bedeutung zur Einschränkung (Restriktion) einer Tabelle auf bestimmte Zeilen kommt die WHERE-Anweisung in der Praxis trotzdem in fast allen SELECT-Befehlen vor. Die Struktur einer Abfrage mit Bedingung lautet in Worten: Wegen seiner wichtigen Bedeutung zur Einschränkung (Restriktion) einer Tabelle auf bestimmte Zeilen kommt die WHERE-Anweisung in der Praxis trotzdem in fast allen SELECT-Befehlen vor. Die Struktur einer Abfrage mit Bedingung lautet in Worten:
  
-  * Was? (welche Felder werden ausgewählt -> z.B. SELECT Series_Title) +  * **Was?** (welche **Spalten** werden ausgewählt -> z.B. //SELECT Series_Title//
-  * Woher? (aus welcher/n Tabelle/n -> z.B. FROM imbd_top_1000) +  * **Woher?** (aus welcher/**Tabelle/n** -> z.B. //FROM imbd_top_1000//
-  * Unter welcher/n Bedingung/en? (welche Feldwerte -> z.B. WHERE IMDB_Rating > 8.5) +  * Unter **welcher/n Bedingung/en?** (welche **Feldwerte** -> z.B. //WHERE IMDB_Rating > 8.5//
 +\\
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 -- Alle Filme mit Bewertung über 8.5 -- Alle Filme mit Bewertung über 8.5
 SELECT Series_Title, IMDB_Rating SELECT Series_Title, IMDB_Rating
Zeile 87: Zeile 89:
  
 Ergebnis (Auszug):   Ergebnis (Auszug):  
-<WRAP center box 80%>+<WRAP center box round 80%>
 ^ Filmtitel ^ Bewertung ^ ^ Filmtitel ^ Bewertung ^
 | The Godfather | 9.2 | | The Godfather | 9.2 |
Zeile 102: Zeile 104:
 Beispiel: nur Filme anzeigen, die **vor 1970** erschienen sind.   Beispiel: nur Filme anzeigen, die **vor 1970** erschienen sind.  
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 SELECT Series_Title, Released_Year SELECT Series_Title, Released_Year
 FROM imdb_top_1000 FROM imdb_top_1000
Zeile 111: Zeile 113:
 ==== Logische Verknüpfungen ==== ==== Logische Verknüpfungen ====
  
-<WRAP center box 80%><code>AND, OR, NOT</code></WRAP>+<WRAP center box round 80%><code>AND, OR, NOT</code></WRAP>
 → verbinden mehrere Bedingungen.   → verbinden mehrere Bedingungen.  
 Beispiel: Filme von Regisseuren //Christopher Nolan// **oder** //Francis Ford Coppola//:   Beispiel: Filme von Regisseuren //Christopher Nolan// **oder** //Francis Ford Coppola//:  
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 SELECT Series_Title, Director SELECT Series_Title, Director
 FROM imdb_top_1000 FROM imdb_top_1000
Zeile 122: Zeile 124:
  
 Mit //AND// kann man Bedingungen kombinieren, z. B.:   Mit //AND// kann man Bedingungen kombinieren, z. B.:  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 -- Alle Sci-Fi-Filme von Christopher Nolan -- Alle Sci-Fi-Filme von Christopher Nolan
 SELECT Series_Title, Director, Genre SELECT Series_Title, Director, Genre
Zeile 130: Zeile 132:
  
 ==== IN-Operator ==== ==== IN-Operator ====
-<WRAP center box 80%><code>IN, NOT IN</code></WRAP>  +<WRAP center box round 80%><code>IN, NOT IN</code></WRAP>  
 → vereinfacht Abfragen mit vielen Bedingungen.   → vereinfacht Abfragen mit vielen Bedingungen.  
  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 -- Filme von Nolan oder Coppola -- Filme von Nolan oder Coppola
 SELECT Series_Title, Director SELECT Series_Title, Director
Zeile 141: Zeile 143:
  
 Das Gegenteil mit //NOT IN//:   Das Gegenteil mit //NOT IN//:  
-<WRAP center box 80%><code sql>+<WRAP center box round 80%><code sql>
 -- Alle Filme, die NICHT von Nolan oder Coppola sind -- Alle Filme, die NICHT von Nolan oder Coppola sind
 SELECT Series_Title, Director SELECT Series_Title, Director
  • modul/m290_guko/learningunits/lu02/theorie/b_sql_select.1756309340.txt.gz
  • Zuletzt geändert: 2025/08/27 17:42
  • von gkoch