Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| 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] – gkoch | modul:m290_guko:learningunits:lu02:theorie:b_sql_select [2025/08/31 11:27] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| ===== Daten abfragen ===== | ===== Daten abfragen ===== | ||
| Das // | Das // | ||
| - | Mit <WRAP center box 80%>< | + | Mit <WRAP center box round 80%>< |
| * alle Spalten | * alle Spalten | ||
| * bestimmte Spalten | * bestimmte Spalten | ||
| Zeile 14: | Zeile 14: | ||
| Die einfachste Abfrageform ist: | Die einfachste Abfrageform ist: | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| SELECT * FROM imdb_top_1000; | SELECT * FROM imdb_top_1000; | ||
| </ | </ | ||
| 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%>< | + | <WRAP center box round 80%>< |
| SELECT Series_Title, | SELECT Series_Title, | ||
| 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%>< | + | <WRAP center box round 80%>< |
| -- Die Filme nach Erscheinungsjahr sortieren | -- Die Filme nach Erscheinungsjahr sortieren | ||
| SELECT Series_Title, | SELECT Series_Title, | ||
| Zeile 60: | Zeile 60: | ||
| </ | </ | ||
| - | Oder umgekehrt, | + | Mit //ASC// (engl. ascending = Aufsteigend) oder //DESC// (engl. descending = Absteigend) kann die Sortierung bestimmt werden. |
| - | <WRAP center box 80%>< | + | Die besten Filme zuerst: |
| + | |||
| + | <WRAP center box round 80%>< | ||
| SELECT Series_Title, | SELECT Series_Title, | ||
| 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 |
| 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 | + | |
| - | * Woher? (aus welcher/n Tabelle/n -> z.B. FROM imbd_top_1000) | + | |
| - | * Unter welcher/n Bedingung/ | + | * Unter **welcher/n Bedingung/ |
| + | \\ | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| -- Alle Filme mit Bewertung über 8.5 | -- Alle Filme mit Bewertung über 8.5 | ||
| SELECT Series_Title, | SELECT Series_Title, | ||
| 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%>< | + | <WRAP center box round 80%>< |
| SELECT Series_Title, | SELECT Series_Title, | ||
| FROM imdb_top_1000 | FROM imdb_top_1000 | ||
| Zeile 111: | Zeile 113: | ||
| ==== Logische Verknüpfungen ==== | ==== Logische Verknüpfungen ==== | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| → verbinden mehrere Bedingungen. | → verbinden mehrere Bedingungen. | ||
| Beispiel: Filme von Regisseuren // | Beispiel: Filme von Regisseuren // | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| SELECT Series_Title, | SELECT Series_Title, | ||
| FROM imdb_top_1000 | FROM imdb_top_1000 | ||
| Zeile 122: | Zeile 124: | ||
| Mit //AND// kann man Bedingungen kombinieren, | Mit //AND// kann man Bedingungen kombinieren, | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| -- Alle Sci-Fi-Filme von Christopher Nolan | -- Alle Sci-Fi-Filme von Christopher Nolan | ||
| SELECT Series_Title, | SELECT Series_Title, | ||
| Zeile 130: | Zeile 132: | ||
| ==== IN-Operator ==== | ==== IN-Operator ==== | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| → vereinfacht Abfragen mit vielen Bedingungen. | → vereinfacht Abfragen mit vielen Bedingungen. | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| -- Filme von Nolan oder Coppola | -- Filme von Nolan oder Coppola | ||
| SELECT Series_Title, | SELECT Series_Title, | ||
| Zeile 141: | Zeile 143: | ||
| Das Gegenteil mit //NOT IN//: | Das Gegenteil mit //NOT IN//: | ||
| - | <WRAP center box 80%>< | + | <WRAP center box round 80%>< |
| -- Alle Filme, die NICHT von Nolan oder Coppola sind | -- Alle Filme, die NICHT von Nolan oder Coppola sind | ||
| SELECT Series_Title, | SELECT Series_Title, | ||