Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:sql_abfrage:start [04.11.2020 20:35] – [Beispiele] sbel | faecher:informatik:oberstufe:datenbanken:sql_abfrage:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== SQL – Daten Abfragen ====== | ||
- | |||
- | ===== Einstieg ===== | ||
- | |||
- | Die Structured Query Language (SQL) ist eine standardisierte Datenbanksprache zur Nutzung auf relationalen Datenbanksystemen wie MySQL. Mit SQL können Abfragen, Manipulationen und Änderungen auf bzw. an den Tabellen der Datenbank vorgenommen werden. | ||
- | |||
- | |||
- | ===== Anmelden am Webinterface ===== | ||
- | |||
- | Wir haben ein zentrales DBMS zur Benutzung durch die Schülerinnen und Schüler eingerichtet: | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
- | * Öffne mit deinem Browser das phpmyadmin Interface: http:// | ||
- | * Infos zu Benutzern und Passwort bekommst du im Unterricht. | ||
- | </ | ||
- | |||
- | ===== Datenbankimport ===== | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
- | * Lade die Datei {{ .: | ||
- | * Importiere die Datei in deine Datenbank. Du musst dabei darauf achten, dass du **in der linken Spalte zuerst deine Datenbank auswählst**, | ||
- | </ | ||
- | |||
- | Du erhältst eine Tabelle: '' | ||
- | |||
- | Klicke die Tabelle an und mache dich mit den gespeicherten Daten etwas vertraut. | ||
- | |||
- | ===== Aufbau einer SQL Abfrage ===== | ||
- | |||
- | Die Sprache SQL (Structured Query Language) wird weltweit gesprochen und (fast) jede (relationale) Datenbank kann damit abgefragt werden. SQL ähnelt etwas dem gesprochenen Englisch und wird in den Abfragen in der Regel mit Großbuchstaben geschrieben, | ||
- | |||
- | Eine Klausel für SQL-Abfragen ist im Wesentlichen folgendermaßen aufgebaut: | ||
- | <code sql> | ||
- | SELECT [DISTINCT] { spalten | * } | ||
- | FROM tabelle [alias] [,tabelle [alias]] ... | ||
- | [WHERE {bedingung}] | ||
- | [GROUP BY spalten [HAVING {bedingung}]] | ||
- | [ORDER BY spalten [ASC | DESC]]; | ||
- | </ | ||
- | Argumente in eckigen Klammern sind dabei optional, die Schreibweise '' | ||
- | |||
- | ==== Ausführungsreihenfolge ==== | ||
- | |||
- | FROM (Tabellenauswahl) | ||
- | -> WHERE (Zeilenauswahl bzw. Selektion) | ||
- | -> GROUP BY (Gruppierung) | ||
- | -> HAVING (Gruppenauswahl) | ||
- | -> SELECT (Spaltenauswahl bzw. Projektion) | ||
- | -> ORDER BY (Sortierung) | ||
- | | ||
- | ===== Beispiele ===== | ||
- | |||
- | |||
- | Die SQL-Abfrage | ||
- | <code sql> | ||
- | SELECT * FROM adressen WHERE Hausnummer > 100 | ||
- | </ | ||
- | liefert eine Tabelle aller Datensätze, | ||
- | |||
- | Die Abfrage | ||
- | <code sql> | ||
- | SELECT * FROM artikel WHERE Id = 10 | ||
- | </ | ||
- | |||
- | Ermittelt den Datensatz mit der Id 10. | ||
- | |||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe: | ||
- | Führe die beiden Beispielabfragen auf deiner Datenbank aus. | ||
- | </ | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A1) === | ||
- | |||
- | Arbeite mit der {{.: | ||
- | |||
- | - Alle Datensätze mit Name, Vorname und Wohnort. | ||
- | - Die Vor- und Nachnamen aller gespeicherten Adressen. | ||
- | - Alle Postleitzahlen und Orte, deren PLZ größer oder gleich 80000 ist. | ||
- | - Vor- und Nachname aller Personen, die im Postleitzahlbereich 4xxxx bis 6xxxx wohnen. | ||
- | - Alle Datensätze, | ||
- | - Alle Personen, die mit " | ||
- | - Alle Einträge die neuer als 10 Jahre sind. | ||
- | - Alle Personen, die in einer Stadt wohnen, die ein " | ||
- | - Alle Einträge mit Vornamen, die mit " | ||
- | - Alle Personen mit einem Faxgerät und einem Mobiltelefon, | ||
- | - Alle Personen, die jünger als 45 Jahre sind, in einem Ort wohnen der mit " | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A2) === | ||
- | |||
- | Denke dir mindestens 10 weitere Kriterien für die Filterung von Adressen aus, notiere diese und erstelle eine passende SQL Abfrage. | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A3) === | ||
- | Arbeite jetzt mit {{.: | ||
- | Man kann mit den Werten, die von einer '' | ||
- | |||
- | {{ .: | ||
- | |||
- | Filtere mit einer geeigneten SQL-Abfrage die folgenden Informationen aus der Tabelle heraus. | ||
- | |||
- | - Artikel mit Artikelnummer, | ||
- | - Alle Artikel mit Nummer, Name, altem Preis und neuem Preis aus, wobei der neue Preis dem um eins erhöhten alten Preis entspricht. | ||
- | - Gib die Tabelle aus, die alle verschiedenen Preise der Artikel absteigend sortiert enthält. | ||
- | - Gib die Tabelle mit dem Namen der Artikel aus, deren Preis genau 1,00 Euro beträgt und deren Bestand genau 70 Stück umfasst. | ||
- | - Gib die verschiedenen Preiskategorien der Artikel aus, in deren Namen „datenbank“ vorkommt. | ||
- | - Gib Titel und Preis mit Mehrwertsteuer aus. | ||