Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

SQL Abfragen - SQL 6

Informatik - simpleclub7:58 265.792 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 75 Zeilen
Herunterladen
  1. Willkommen zurück! Ihr habt wohl immer noch nicht genug von SQL, was?
  2. Kein Wunder! Heute gehts ja auch endlich um das Kernstück in SQL.
  3. Nämlich die Abfragen! Diese fallen unter die Data Manipulation Language, auch DML genannt.
  4. Die kennen wir ja schon von den Kommandos Insert , Delete und Update. Also, packt eure Brotzeit ein und ab geht die Luzie!
  5. Also, wir wissen ja jetzt schon was SQL ist und wie wir Datenbanken damit erzeugen und verwalten können.
  6. Wenn ihr es nochmal auffrischen wollt, einfach in die SQL Videos davor reinklicken! Mit den Abfragen können wir jetzt nen sehr wichtigen Teil übernehmen.
  7. Wir wollen ja Daten aus den Tabellen jetzt auch irgendwie auslesen. Genau das machen wir mit Abfragen.
  8. Das Abfrageergebnis wird dabei wieder in Form einer Tabelle angegeben. In SQL sind Abfragen allgemein in drei Teile aufgebaut.
  9. In der 1. Zeile schreiben wir ein Select. Da geben wir an, welche Attribute wir aus den Tabellen nehmen wollen.
  10. Wir sagen also einfach, welche Spalten wir in der Ergebnistabelle haben möchten. Die Namen in Select müssen dabei natürlich den Namen aus den Tabellen entsprechen.
  11. In die zweite Zeile schreiben wir immer ein from. In dieser Zeile geben wir dann einfach an, aus welcher Tabelle wir etwas nehmen möchten.
  12. Dabei können wir natürlich auch mehrere Tabellen mit einem Komma getrennt angeben. Somit ist es also möglich in der Select Anweisung auch Spalten aus mehreren Tabellen anzugeben.
  13. Da könnt ihr euch den Begriff Join dazu merken, aber die behandeln wir ausführlich in nem anderen Video.
  14. In die dritte Zeile können wir optional eine Where Klausel schreiben. Diese funktioniert genauso wie in den DML und DDL Anweisungen.
  15. Dadurch können wir also Bedingungen für unsere Abfrage setzen . Falls wir diese Zeile leer lassen, werden alle Daten aus den Spalten genommen, die wir
  16. in Select angegeben haben. Grob gesagt, können wir mit dem Select also die Spalten, und mit dem where die Zeilen
  17. bestimmen. So, da des jetzt klar is, schauen wir uns das ganze etwas genauer an!
  18. Mit Select können wir ja jetzt bestimmte Spaltennamen angeben , die wir in der Ergebnistabelle auch haben möchten.
  19. Wenn wir jetzt aber alle Spalten haben möchten, wäre es ja ziemlich umständlich alle Spalten aus den Tabellen hinzuschreiben.
  20. #FaulheitSiegt Dafür kennen wir in SQL hinter unser Select einfach nen Stern schreiben.
  21. Dann werden alle Spalten aus den Tabellen genommen, die wir in From angegeben haben. Gehen wir mal von unserer Tabelle Film aus den vorherigen Videos aus.
  22. Die is mit jetzt mit mehreren Filmen gefüllt. Wir schreiben in unsere Zeile Select also den Stern.
  23. Nach der From Klausel schreiben wir unseren Tabellennamen Film. Die Where Klausel is uns jetzt erstmal egal.
  24. Wenn wir diese Anweisung dann ausführen kriegen wir folgendes Ergebnis. Wat?
  25. Des is ja die gleiche Tabelle. Jou.
  26. Da wir mit dem Stern jetzt alle Spalten übernommen haben und wir keine Einschränkungen bei Where für die Zeilen haben, werden alle Daten übernommen.
  27. So wir können ja jetzt auch nur einzelne Spalten aus der Tabelle nehmen. Dabei kann es passieren, dass mehrere gleiche Werte in unserer Ausgabe stehen.
  28. Da das nicht immer sinnvoll ist, können wir des in SQL verhindern. Wir schreiben jetzt einfach nach unser Select ein Distinct.
  29. Dann wird für jede Ausgabezeile überprüft ob es Duplikate für die jeweilige Spalte gibt, die rausgeworfen werden können.
  30. Das Distinct könnt ihr eigentlich fast immer dazu schreiben. Schauen wir uns des mal an der Tabelle Film an.
  31. Wir haben jetzt zwei Filme mit den gleichen Regisseuren in unserer Tabelle drinstehen. Als Ausgabe wollen wir alle Regisseure haben, die in der Filmtabelle drinstehen.
  32. Dafür schreiben wir erstmal unser Select und die Spalte Regisseur. In From schreiben wir jetzt unser Film.
  33. So was steht jetzt in der Ausgabe? Genau.
  34. Zweimal der gleiche Regisseur, da ja alle Daten unserer Spalte Regisseur ausgegeben werden.
  35. Jetzt setzen wir mal unser Distinct nach Select. Et voila!
  36. Schon werden gleiche Werte in unserer Ausgabenspalte gelöscht. Jetzt steht unser Regisseur nur noch einmal drin.
  37. Natürlich lassen sich hinter des Distinct auch mehrere Spalten schreiben. Dann werden aber nur die Zeilen zusammengefasst, wo jeder Wert der Spalten übereinstimmt.
  38. Wenn wir jetzt also noch Kosten in unsere Ausgabe schreiben wollen, wird unser Regisseur mit unseren Kosten wieder doppelt auftauchen.
  39. Wenn die Kosten jetzt allerdings in beiden Filmen gleich sein würden, würde das Duplikat wieder rausgenommen werden, da beide Zeilen ja genau gleich sind.
  40. Soweit klaro? Jetzt kann es aber auch mal sein, dass wir unserer Ausgabetabelle andere Spaltennamen
  41. geben wollen. Dafür können wir hinter unseren Spaltennamen in Select einfach ein as schreiben.
  42. Dahinter kommt dann noch der gewünschte Name der Spalte. Und schon haben wir einen neuen Spalten Namen, geil oder?
  43. Die Where Klausel kennen wir ja jetzt schon aus den vorherigen Videos zu SQL. Da können wir ja bestimmte Bedingungen wie größer,kleiner,gleich, und so weida angeben.
  44. Diese Bedingungen können wir jetzt aber auch verknüpfen. Mit einem AND zwischen den Bedingungen geben wir an, dass alle Bedingungen gelten müssen.
  45. Mit OR geben wir an, dass eine dieser Bedingungen gelten muss. Mit NOT drehen wir diese Bedingung ins negative.
  46. Wir können außerdem überprüfen ob Spalten einen bestimmten Teil eines Wortes enthalten. Dafür setzen wir nach unseren Spaltennamen ein LIKE.
  47. In Anführungszeichen dahinter kommt dann die Zeichenkette , die unsere Spalte enthalten soll.
  48. Durch ein Prozentzeichen können wir jetzt sagen, dass da irgendwelche Zeichen sein können. Nehmen wir an, wir wollen jetzt den Filmnamen und die FilmID ausgeben lassen.
  49. Außerdem soll dies nur für den Film Iron Man passieren oder wo die FilmID 2 ist. Zuerst geben wir natürlich unseren Spaltennamen und die Tabelle an.
  50. In die Where Zeile schreiben wir erstmal ein Name gleich Iron Man. Mit einem OR können wir dahinter schreiben FilmId gleich 2.
  51. Somit werden uns alles Filme ausgegeben, die Iron Man heißen, oder wo die FilmID gleich 2 ist.
  52. Nice Sache! Jetzt schauen wir uns den theoretischen Schmarn aber an nem Praktischen Beispiel an!
  53. Gehen wir mal von unseren beiden Tabellen Buch und Autor aus den vorherigen Videos aus. Da stehen jetzt mehrere Bücher und Autoren drin.
  54. Zuerst wollen wir alle Bücher ausgeben die in der Tabelle Buch stehen. Dafür schreiben wir hinter unser Select erstmal nen Stern.
  55. Hinter unser From schreiben wir den Tabellennamen Buch. Die Where Zeile können wir dabei rauslassen.
  56. So schnell gehts! Als nächstes wollen wir uns ausgeben lassen, was für Preise im Buchladen vorkommen.
  57. Dafür schreiben wir in unsere Select Zeile den Spaltennamen für den Preis und in From unsere Tabelle Buch.
  58. Als Ergebnis würden jetzt aber Preise auch doppelt vorkommen, da ja alle Preise pro Zeile ausgegeben werden.
  59. Wenn wir jetzt aber ein Distinct vor unser Preis setzen, werden doppelte Preise einfach gelöscht.
  60. So zum Schluss wollen wir jetzt noch alle Autorennamen ausgeben, deren Vorname mit “Da” anfängt.
  61. Also schreiben wir erstmal Select Distinct Vorname from Autor. Dann schreiben wir in die Where Zeile die Spalte Vorname.
  62. Dahinter kommt ein Like. In Anführungszeichen dahinter schreiben wir dann noch unser Da und das Prozentzeichen.
  63. Somit werden alle Vornamen ausgegeben, die mit Da anfangen. Puh, da waren jetzt wieder ziemlich viele Infos.
  64. Fassen wir das doch grob zusammen. Durch Abfragen können wir bestimmte Daten aus einer Datenbank rauslesen.
  65. Dabei wird keine neue Tabelle erstellt, aber die Ausgabe erfolgt in Form einer Tabelle. In die erste Zeile schreiben wir dabei immer ein Select.
  66. Dort wird angegeben welche Spalten uns überhaupt interessieren. In die From Zeile schreiben wir die Tabellennamen, aus denen wir die Spalten lesen wollen.
  67. Die Where Zeile ist optional. Da können wir Bedingungen reinschreiben, da wir ja nicht immer alle Zeilen der Spalte
  68. ausgeben wollen. Wenn wir hinter unser Select einen Stern schreiben, werden alle Spalten der Tabelle ausgegeben.
  69. Durch ein Distinct zwischen dem Select und dem Spaltennamen, werden alle Duplikate in dieser Spalte zusammengefasst.
  70. Durch ein As hinter den Spaltennamen können wir unserer Spalte für die Ausgabe einen neuen Namen geben.
  71. In der Where Zeile können wir noch mehrere Zusätze schreiben. Durch ein AND können Bedingungen verknüpft werden.
  72. Durch ein OR muss nur eine Bedingung gelten. Durch ein NOT wird die Bedingung umgedreht.
  73. Durch ein Like kann man bestimmen ob nur ein Teil eines Wortes enthalten sein soll. Für beliebige Zeichen kann ein Prozentzeichen geschrieben werden.
  74. Alright Buddies! Det wars erstmal zu den Abfragen.
  75. In den nächsten Videos schauen wir uns dann an, wie des mit Abfragen aus mehreren Tabellen ausschaut.

Zum Nachlesen