Projekt:2021/InstaHub: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 62: | Zeile 62: | ||
=== Bedingungen === | === Bedingungen === | ||
{{Aufgabe:Start}} | {{Aufgabe:Start}} | ||
Mittels der <code>WHERE</code>-Klausel lassen sich Datensätze gezielt auf bestimmte Bedingungen einschränken. Jedes Datenfeld hat einen festgelegten Datentyp (im Wesentlichen ''Zahl'', ''Text'' und ''Datum''). Je nach Datentyp lassen sich unterschiedliche Bedingungen nutzen. Bedingungen sind entweder <code>TRUE</code> oder <code>FALSE</code>. Bedingungen können mit <code>AND</code> <code>OR</code> verknüpft, oder mit <code>NOT</code> negiert werden. | |||
Lies im [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_WHERE-Klausel_im_Detail Wikibook Einführung in SQL] den Abschnitt [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_WHERE-Klausel_im_Detail WHERE-Klausel im Detail]. Studiere vor allem die Operatoren <code>BETWEEN</code>, <code>CONTAINS</code> und <code>IS NULL</code>. | Lies im [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_WHERE-Klausel_im_Detail Wikibook Einführung in SQL] den Abschnitt [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_WHERE-Klausel_im_Detail WHERE-Klausel im Detail]. Studiere vor allem die Operatoren <code>BETWEEN</code>, <code>CONTAINS</code> und <code>IS NULL</code>. | ||
| Zeile 72: | Zeile 72: | ||
# Alle Photos, die als Bildformat png haben. | # Alle Photos, die als Bildformat png haben. | ||
# Alle Nutzer, die aus Frankfurt oder Stuttgart kommen und zwischen 120 und 133 Zentimeter groß sind. | # Alle Nutzer, die aus Frankfurt oder Stuttgart kommen und zwischen 120 und 133 Zentimeter groß sind. | ||
# Alle Nutzer, die keine Größe eingetragen haben. | |||
{{Aufgabe:End}} | {{Aufgabe:End}} | ||
| Zeile 89: | Zeile 90: | ||
=== Funktionen === | === Funktionen === | ||
{{Aufgabe:Start}} | {{Aufgabe:Start}} | ||
SQL bietet auch Möglichkeiten, die abgefragten Datensätze | SQL bietet auch Möglichkeiten, die abgefragten Datensätze durch die Anwendung von Rechenoperationen und Funktionen zu ''transformieren''. | ||
Um zum Beispiel die Größe der Nutzer nicht in Zentimetern, sondern in Millimetern abzufragen, könnte die Abfrage so lauten: | Um zum Beispiel die Größe der Nutzer nicht in Zentimetern, sondern in Millimetern abzufragen, könnte die Abfrage so lauten: | ||
<code>SELECT username, | <code>SELECT username,centimeters*10 FROM users</code> | ||
Einen Überblick der wichtigsten Funktionen gibt es in der [[Befehlsreferenz SQL#Funktionen nutzen]]. Analysiere mit | Einen Überblick der wichtigsten Funktionen gibt es in der [[Befehlsreferenz SQL#Funktionen nutzen]]. Analysiere mit deren Hilfe folgende Abfragen und notiere ihre Bedeutung, ohne sie vorher auszuführen. Prüfe dann deine Vermutung in InstaHub. | ||
# <code>SELECT COUNT(*) FROM comments</code> | # <code>SELECT COUNT(*) FROM comments</code> | ||
Version vom 24. August 2021, 21:14 Uhr
Projekt InstaHub
Erstelle dir einen Zugang zu InstaHub. Das Video zeigt dir, wie du vorgehen musst: https://youtu.be/6DnmVjtF3UU
Grundlagen von Datenabfragen
Benutze in InstaHub die Suchfunktion (Datenbanksymbol -> Suche), um die folgenden Abfragen zu stellen. Setze dabei den Haken bei "Zeige SQL" und vergleiche die SQL-Abfrage mit der Suchmaske und der Ergebnistabelle. Notiere dir wichtige Befehle.
- Alle Nutzer.
- Alle männlichen / alle weiblichen Nutzer.
- Alle Nutzer, die sich nach dem 23.09.2017 registriert haben.
- Alle Nutzer aus München.
- Alle Nutzer sortiert nach Geburtstag.
- Nutzernamen und Passwort aller Nutzer.
- Nutzernamen und Passwort aller Nutzer, die kleiner als 1,60 Meter sind.
- Alle Männer, die größer als 1,80 Meter sind, sortiert nach Datum der Registrierung.
- Alle Frauen, deren Nutzername die Ziffern
45enthält.
Benutze in InstaHub die SQL Abfragefunktion (Datenbanksymbol -> SQL), um SQL-Abfragen für die folgenden Informationen zu erstellen. Nutze dazu die Befehlsreferenz SQL im Wiki und die gedruckte Befehlsübersicht SQL als Hilfe.
- Alle Photos.
- Alle Photos des Nutzers mit der ID
42. - Alle Photos, sortiert nach Erstellungsdatum.
- Die ID des Nutzers und die URL aller Photos.
- Alle Photos, deren Beschreibung die Zeichenkette
#sonneenthält.
Denk dir weitere Abfragen aus, mit der du die Syntax des SELECT-Befehls ausprobieren kannst.
Abfragen einschränken und sortieren
SELECT Abfragen lassen sich mit den Schlüsselwörtern LIMIT, OFFSET, ORDER BY und DISTINCT weiter präzisieren.
- Führe die Abfragen aus und analysiere die Funktion und Syntax der
LIMITundOFFSETSchlüsselwörter.SELECT * FROM users LIMIT 5SELECT * FROM users LIMIT 10SELECT * FROM users LIMIT 5 OFFSET 5
- Führe die Abfragen aus und analysiere die Funktion und Syntax des
ORDER BYSchlüsselwortes.SELECT id,username,centimeters FROM usersSELECT id,username,centimeters FROM users ORDER BY idSELECT id,username,centimeters FROM users ORDER BY usernameSELECT id,username,centimeters FROM users ORDER BY centimetersSELECT id,username,centimeters FROM users ORDER BY centimeters ASCSELECT id,username,centimeters FROM users ORDER BY centimeters DESC
- Führe die Abfragen aus und analysiere die Funktion und Syntax des
DISTINCTSchlüsselwortes.SELECT city FROM usersSELECT DISTINCT city FROM users
- Kombiniere nun die neuen Schlüsselwörter miteinander und entwickele Abfragen zu folgenden Datensätzen:
- Die fünf größten männlichen Nutzer.
- Die acht kleinsten weiblichen Nutzer, beginnend ab der Drittkleinsten.
- 15 unterschiedliche aufsteigend sortierte Vornamen.
- Das zuletzt gepostete Photo.
- Das vorletzte Photo.
Bedingungen
Mittels der WHERE-Klausel lassen sich Datensätze gezielt auf bestimmte Bedingungen einschränken. Jedes Datenfeld hat einen festgelegten Datentyp (im Wesentlichen Zahl, Text und Datum). Je nach Datentyp lassen sich unterschiedliche Bedingungen nutzen. Bedingungen sind entweder TRUE oder FALSE. Bedingungen können mit AND OR verknüpft, oder mit NOT negiert werden.
Lies im Wikibook Einführung in SQL den Abschnitt WHERE-Klausel im Detail. Studiere vor allem die Operatoren BETWEEN, CONTAINS und IS NULL.
Entwirf dann Abfragen für folgende Datensätze:
- Alle Kommentare, die zwischen erstellt wurden.
- Zehn Photos, deren Beschreibung
#sonne,#strandoder#meerenthalten. - Alle Photos, die als Bildformat png haben.
- Alle Nutzer, die aus Frankfurt oder Stuttgart kommen und zwischen 120 und 133 Zentimeter groß sind.
- Alle Nutzer, die keine Größe eingetragen haben.
Lege dir auf einem Blatt ein Tabelle im unten gezeigten Format an. Trage links die bisher kennengelernten Schlüsselwörter ein und rechts daneben eine kurze Beschreibung der Funktion.
| SQL-Befehl | Bedeutung |
|---|---|
| SELECT | Fragt Datensätze nach bestimmten Kriterien aus der Datenbank ab. |
Funktionen
SQL bietet auch Möglichkeiten, die abgefragten Datensätze durch die Anwendung von Rechenoperationen und Funktionen zu transformieren.
Um zum Beispiel die Größe der Nutzer nicht in Zentimetern, sondern in Millimetern abzufragen, könnte die Abfrage so lauten:
SELECT username,centimeters*10 FROM users
Einen Überblick der wichtigsten Funktionen gibt es in der Befehlsreferenz SQL#Funktionen nutzen. Analysiere mit deren Hilfe folgende Abfragen und notiere ihre Bedeutung, ohne sie vorher auszuführen. Prüfe dann deine Vermutung in InstaHub.
SELECT COUNT(*) FROM commentsSELECT MIN(centimeters), MAX(centimeters),AVG(centimeters),SUM(centimeters) FROM usersSELECT height+100,4+3,AVG(centimeters)*2,id%2 FROM usersSELECT CONCAT(),UPPER(username), LOWER(city) FROM usersSELECT CONCAT(first," ",last),UPPER(username), LOWER(city) FROM usersSELECT DAY(created_at),MONTH(created_at),YEAR(created_at) FROM users LIMIT 1 ORDER BY created_at DESCSELECT CONCAT(first," ", UPPER(last)," (",UPPER(LEFT(3,city)),")") FROM users