7th Dec 2023 10 Leseminuten SQL-Praxis für Studenten: 11 grundlegende SQL-Übungen mit Lösungen Alexandre Bruffa SQL-Übungen Online-Übungen Inhaltsverzeichnis Verbessern Sie Ihre SQL-Praxis 11 grundlegende SQL-Praxis Übungen Übung 1: Alle Schüler auflisten Übung 2: Auflisten aller Namen von Schülern Übung 3: Einen bestimmten Dozenten nach ID auswählen Übung 4: Auswählen von Schülern nach Nachname Übung 5: Auswählen von Schülern, deren Nachname mit D beginnt Übung 6: Mehrere Bedingungen verwenden, um ein akademisches Semester auszuwählen Übung 7: Schüler nach Nachnamen sortieren Übung 8: Schüler, die zwischen 2003 und 2004 geboren wurden Übung 9: Zählen der Schüler für jedes Startdatum Übung 10: Auswählen, Gruppieren und Filtern der Ergebnisse Übung 11: Wie viele Kurse unterrichtet jeder Dozent? Lust auf mehr SQL-Praxis? Aufruf an alle Studenten! Sind Sie neugierig auf SQL? Möchten Sie Ihre SQL-Kenntnisse erlernen oder verbessern? Dieser Artikel enthält 11 SQL-Übungsaufgaben mit detaillierten Lösungen. Haben Sie schon einmal gehört, dass "Übung den Meister macht"? Wahrscheinlich haben Sie das - deshalb suchen Sie nach Ressourcen für SQL-Übungen. Wenn Sie starke Fähigkeiten entwickeln oder ein Experte in einem bestimmten Bereich werden wollen, müssen Sie üben. Wie Rebecca McKeown in ihrem hervorragenden Artikel Learning SQL? 12 Ways to Practice SQL Online: "Alles Theorie und keine Praxis macht Sie zu einem frustrierten SQL-Benutzer". Und sie hat Recht! Jedes Mal, wenn Sie ein neues Konzept lernen, müssen Sie es sofort anwenden, indem Sie es üben. Das ist der Sinn der in diesem Artikel vorgestellten Übungen. Die meisten der folgenden Übungen stammen aus unserem interaktiven Kurs SQL-Praxis: University. Dieser interaktive Online-Kurs richtet sich an Personen, die SQL-Kenntnisse haben und nach praktischen Übungen suchen, die einzelne Tabellenabfragen, Joins, Sortierung, Gruppierung, Aggregation und mehr abdecken. Er ist Teil unseres SQL-Praxis Track, der weitere SQL-Übungskurse für Anfänger enthält. Überblick über eine interaktive Übung auf LearnSQL.de. Aber vielleicht möchten Sie sich noch nicht auf einen kompletten Kurs festlegen. Das ist kein Problem! Diese 11 Übungen helfen Ihnen, Ihre SQL-Kenntnisse zu üben und zu verbessern - ohne Kosten und ohne Verpflichtung! Schnallen Sie sich an, und los geht's! Verbessern Sie Ihre SQL-Praxis Unsere SQL-Übungen sind perfekt für Studenten geeignet: Ich werde das Universitätsmodell verwenden, mit dem Sie vertraut sein sollten! Hier sind die Tabellen, die wir während der Übungen verwenden werden: student enthält die Basisdaten der Studenten: Vorname, Nachname, E-Mail, Geburtsdatum und Datum des Studienbeginns. lecturer enthält Grunddaten zu den Dozenten: Vorname, Nachname, Abschluss und E-Mail. academic_semester enthält grundlegende Informationen zu den akademischen Semestern: Kalenderjahr, Semester, Anfangs- und Enddatum. course_edition ist eine Tabelle, die zur Verknüpfung der drei anderen Tabellen dient: course (die wir in diesem Artikel nicht verwenden werden), academic_semesterund lecturer. Wenn Sie den Umgang mit der vollständigen Universitätsdatenbank üben möchten, besuchen Sie den Kurs Grundlagen SQL-Praxis: Universität. (Wir haben ein Sonderangebot und Sonderpreise für Studenten und Lehrer! Wenn Sie interessiert sind, schauen Sie sich unser Angebot für SQL-Kurse für Studenten an). 11 grundlegende SQL-Praxis Übungen In diesem Abschnitt stelle ich 11 SQL-Übungen mit Lösungen zur Verfügung. Der Schwierigkeitsgrad wird schrittweise erhöht: Ich werde mit sehr einfachen und allgemeinen Übungen beginnen und nach und nach neue SQL-Konzepte einführen. Sind Sie bereit, Ihre SQL-Praxis zu verbessern? Übung 1: Alle Schüler auflisten Übung Wählen Sie alle Daten der Schüler in der Datenbank aus. Lösung SELECT * FROM student; Erläuterung Wir wollen die Daten der Studenten aus der Datenbank abrufen. Dazu müssen wir die SELECT Klausel und die FROM Klausel auf die student Tabelle verwenden. Das Sternchen-Symbol (*) wird hier als Abkürzung verwendet, um die Namen aller Spalten in der Tabelle darzustellen students. Beachten Sie, dass alle SQL-Anweisungen mit dem Semikolonzeichen (;) enden. Übung 2: Auflisten aller Namen von Schülern Übung Wählen Sie den Vor- und Nachnamen aller Schüler aus. Lösung SELECT first_name, last_name FROM student; Erläuterung Diesmal wollen wir Teilinformationen aus der Datenbank abrufen. Das geht ganz einfach, indem man die Namen der Spalten angibt, die man abrufen möchte - in diesem Fall first_name und last_name. Die Namen der Spalten werden durch ein Komma getrennt, gefolgt von der FROM-Anweisung mit dem Tabellennamen (student). Übung 3: Einen bestimmten Dozenten nach ID auswählen Übung Wählen Sie die E-Mail für den Dozenten mit der ID 5 aus der Datenbank aus. Lösung SELECT email FROM lecturer WHERE id = 5; Erläuterung Diesmal wollen wir Informationen über Dozenten aus der Datenbank abrufen. Dazu müssen wir die SELECT Klausel und die FROM Klausel in der Tabelle lecturer Tabelle verwenden. In einer Datenbank hat jede Tabelle normalerweise eine Primärschlüsselspalte (im Allgemeinen ID genannt), die einen eindeutigen Bezeichner für jeden Eintrag darstellt. In dieser Übung rufen wir nur einen Dozenten (d. h. eine Zeile) aus der Tabelle lecturer Tabelle ab. Dies geschieht mit der Klausel WHERE mit der Bedingung id=5. In diesem Fall verwenden wir den Vergleichsoperator "gleich" (=). Wir könnten auch eine Bedingung mit anderen Vergleichsoperatoren schreiben, z. B. >, <, >=, <=, oder <> (nicht gleich). Übung 4: Auswählen von Schülern nach Nachname Übung Wählen Sie alle Daten für alle Schüler aus, deren Nachname Durrand ist. Lösung SELECT * FROM student WHERE last_name = 'Durrand'; Erläuterung Zurück zur student Tabelle! In dieser Übung wollen wir alle Schüler abrufen, deren Nachname Durrand lautet. Die Spalte last_name erlaubt doppelte Werte; wenn wir also die Klausel WHERE verwenden, können mehrere Zeilen zurückgegeben werden. Beachten Sie, dass in SQL einfache Anführungszeichen (') verwendet werden, um Textwerte (‘Durrand’) einzuschließen. Übung 5: Auswählen von Schülern, deren Nachname mit D beginnt Übung Wählen Sie die Vor- und Nachnamen der Schüler aus, deren Nachname mit dem Buchstaben D beginnt. Lösung SELECT first_name, last_name FROM student WHERE last_name LIKE 'D%'; Erläuterung In dieser Übung wird nicht nach Schülern mit einem genauen Nachnamen gesucht, sondern nach Schülern, deren Nachname mit einem bestimmten Buchstaben (D) beginnt. Der Vergleichsoperator equal (=) kann in dieser Übung nicht verwendet werden, da wir nicht nach einer exakten Übereinstimmung suchen. Zum Glück gibt es in SQL den Operator LIKE, mit dem wir nach einem bestimmten Muster suchen können. Die Verwendung der WHERE-Klausel in Kombination mit dem LIKE -Operator für die Spalte last_name erfüllt den Zweck! Das Prozentzeichen (%) wird verwendet, um null, ein oder mehrere Zeichen darzustellen. Daher bedeutet ‘D%’ hier "Ein Name, der mit D beginnt, gefolgt von null, einem oder vielen weiteren Zeichen". Haben Ihnen die Übungen in diesem Artikel gefallen? Weitere finden Sie in dem ausgezeichneten Artikel 10 Beginner SQL-Praxis Exercises With Solutions von meinem Freund Tihomir Babic. Übung 6: Mehrere Bedingungen verwenden, um ein akademisches Semester auszuwählen Übung Wählen Sie alle Daten für akademische Semester aus, bei denen diese beiden Bedingungen erfüllt sind: Das Jahr ist 2020 und das Semester ist Frühling. Lösung SELECT * FROM academic_semester WHERE calendar_year = 2020 AND term = 'spring'; Erläuterung Diesmal werden wir gebeten, Informationen für akademische Semester abzurufen. Um dies zu erreichen, führen wir eine SELECT Klausel auf die academic_semester Tabelle ausführen, um dies zu erreichen. Im Vergleich zu den vorherigen Übungen ist etwas neu: Wir haben 2 Bedingungen! Sie fragen sich vielleicht, ob mehrere Bedingungen in SQL erlaubt sind; ja, das sind sie! Das Einzige, was Sie tun müssen, ist, einen logischen Operator in Kombination mit der WHERE Klausel zu verwenden. SQL bietet drei logische Operatoren: AND, OR, und NOT. In dieser Übung wollen wir, dass die beiden Bedingungen erfüllt sind, also verwenden wir den logischen Operator AND. Beachten Sie, dass die Spalte calendar_year ein Integer-Typ ist, während der Begriff ein String ist. Deshalb verwenden wir bei der Suche nach 2020 in calendar_year keine Anführungszeichen, während wir bei der Suche nach "Frühling" einfache Anführungszeichen verwenden. Übung 7: Schüler nach Nachnamen sortieren Übung Wählen Sie den Nachnamen und das Geburtsdatum von Schülern, die im Jahr 2003 oder später geboren sind, und sortieren Sie sie nach dem Nachnamen in absteigender Reihenfolge (Z bis A). Lösung SELECT last_name, birth_date FROM student WHERE birth_date >= '2003-01-01' ORDER BY last_name DESC; Erläuterung In dieser Übung suchen wir alle Schüler, die am oder nach dem 1. Januar 2003 geboren sind. Daher wird unser Filter auf die Spalte birth_date in der Tabelle student Tabelle. Wenn Sie sich das Datenbankdiagramm am Anfang dieses Artikels noch einmal ansehen, werden Sie feststellen, dass die Spalte birth_date einen Datentyp hat. In SQL werden Datumsangaben in der folgenden Reihenfolge gespeichert: Jahr, Monat und Tag. Wir nennen dies das Format yyyy-mm-dd. Beispielsweise würde der 10. Januar 2023 in einer Datenbank als 2023-01-10 gespeichert. SQL verwendet auch einfache Anführungszeichen, um Datumsangaben einzuschließen (der 10. Januar 2023 wird als ‘2023-01-10’ geschrieben), und Vergleiche sind bei Datumsangaben zulässig. Um die von uns benötigte Abfrage zu erstellen, verwenden wir daher die WHERE-Klausel mit dem Vergleichssymbol größer als oder gleich (>=) für das Geburtsdatum. Als Nächstes ordnen wir das Ergebnis mit Hilfe des Schlüsselworts ORDER BY nach dem Nachnamen. Das Schlüsselwort DESC gibt an, dass das Ergebnis in absteigender Reihenfolge (von Z bis A) sortiert wird. Wenn Sie in aufsteigender Reihenfolge sortieren möchten, verwenden Sie das Schlüsselwort ASC. Übung 8: Schüler, die zwischen 2003 und 2004 geboren wurden Übung Wählen Sie aus der Datenbank den Vornamen, den Nachnamen und das Geburtsdatum von Schülern aus, die zwischen 2003 und 2004 geboren sind. Lösung SELECT first_name, last_name, birth_date FROM student WHERE birth_date >= '2003-01-01' AND birth_date <='2004-12-31'; Erläuterung In dieser Übung werden die Datensätze aller Schüler abgerufen, die am oder nach dem 1. Januar 2003 und vor oder am 31. Dezember 2003 geboren sind. Wir verwenden die SELECT Klausel. In der vorigen Übung haben wir gesehen, dass Vergleiche auf Datumsangaben zulässig sind, daher lautet unsere Bedingung hier birth_date >= '2003-01-01' AND birth_date <='2004-12-31' Übung 9: Zählen der Schüler für jedes Startdatum Übung Wählen Sie das Anfangsdatum für alle Schüler und zeigen Sie, wie viele Schüler das gleiche Anfangsdatum haben. Lösung SELECT start_date, COUNT(*) FROM student GROUP BY start_date; Erläuterung In dieser Übung wollen wir das Anfangsdatum für alle Schüler ermitteln und anzeigen, wie viele Schüler das gleiche Anfangsdatum haben. Wir benötigen also eine Spalte, die die Anfangsdaten ohne doppelte Werte enthält, und eine weitere Spalte, die die Anzahl der Schüler mit identischem Anfangsdatum anzeigt. Die Anweisung GROUP BY ermöglicht die Gruppierung der Zeilen mit denselben Werten (hier: das Anfangsdatum). Zusätzlich verwenden wir die Aggregatfunktion COUNT(), um die Anzahl der Zeilen anzuzeigen, die mit dem Wert des Anfangsdatums übereinstimmen. Übung 10: Auswählen, Gruppieren und Filtern der Ergebnisse Übung Suchen Sie die Starttermine, an denen mehr als 15 Studenten teilgenommen haben. Zeigen Sie das Anfangsdatum und die Anzahl der Schüler an, die an diesem Datum angefangen haben. Lösung SELECT start_date, COUNT(*) FROM student GROUP BY start_date HAVING COUNT(*) > 15; Erläuterung Wir möchten dieselbe Abfrage wie in der vorherigen Übung durchführen, jedoch mit einem kleinen Unterschied: Wir möchten die Ergebnisse so filtern, dass nur diejenigen angezeigt werden, die einer bestimmten Anzahl entsprechen. Auf dieselbe Weise führen wir eine SELECT auf die student Tabelle durch. Wir gruppieren das Ergebnis nach Startdatum und verwenden die Aggregatfunktion COUNT(). Schließlich verwenden wir die HAVING Klausel am Ende der Abfrage, um Startdaten, die weniger als 15 Teilnehmer haben, aus der Ergebnismenge zu entfernen. Übung 11: Wie viele Kurse unterrichtet jeder Dozent? Übung Finden Sie für jeden Dozenten heraus, wie viele Lehrveranstaltungen er in jedem akademischen Semester unterrichtet. Geben Sie den Vor- und Nachnamen des Dozenten, das Kalenderjahr, das Semester und die Anzahl der Lehrveranstaltungen an, die der Dozent in diesem Semester unterrichtet. Lösung SELECT lec.first_name, lec.last_name, acs.calendar_year, acs.term, COUNT(course_id) FROM lecturer AS lec JOIN course_edition AS ce ON ce.lecturer_id = lec.id JOIN academic_semester AS acs ON ce.academic_semester_id = acs.id GROUP BY lec.id, acs.id; Erläuterung Diese Aufgabe ist ein wenig schwieriger. Wir müssen drei Tabellen verknüpfen: lecturer, course_edition, und academic_semester. Dies geschieht mit Hilfe desJOIN-Operators. Dann verwenden wir die GROUP BY Klausel, um die Kursausgaben, die von demselben Dozenten im selben akademischen Semester unterrichtet werden, zusammenzufassen. Schließlich verwenden wir die Funktion COUNT(), um zu zählen, wie viele Kurse ein Dozent in diesem Semester anbietet. Der Artikel SQL Joins: 12 Übungsfragen mit detaillierten Antworten von Tihomir Babic enthält weitere SQL-Join-Übungen, wenn Sie daran interessiert sind. Lust auf mehr SQL-Praxis? Ich hoffe sehr, dass dieser Artikel Sie dazu gebracht hat, Ihre SQL-Kenntnisse zu üben und Sie dazu inspiriert hat, einen SQL-Lernpfad einzuschlagen! Wenn Ihnen die Übungen in diesem Artikel gefallen haben, denken Sie daran, dass die meisten von ihnen aus dem Kurs SQL-Praxis: Universität auf LearnSQL.de stammen. Er ist Teil unseres SQL-Praxis Kurses, der 8 weitere Kurse und fast 1.000 Übungen enthält; das ist eine Menge an praktischer Erfahrung! Wenn Sie tief in SQL eintauchen wollen, empfehle ich Ihnen unser Alle für immer SQL-Paket. Dieses Angebot enthält alle aktuellen und zukünftigen SQL-Kurse in vier verschiedenen SQL-Dialekten. Wir haben auch ein spezielles Angebot für Studenten. Vielen Dank für die Lektüre dieses Artikels; wir sehen uns im nächsten! Tags: SQL-Übungen Online-Übungen