Es hängt davon ab, wie schwierig es sein soll. Außerdem bin ich ein wenig vorsichtig, wenn ich Ihnen die Antwort geben soll, da die meisten SQL-Probleme mehrere akzeptable Methoden zur Ausführung von Aufgaben haben und es auch Methoden gibt, um SQL-Probleme auf schlampige Weise zu lösen, die andere Probleme verursachen. Die Person, die die Antwort "benotet", muss sie auf jeden Fall selbst lösen können.
Das heißt, hier sind ein paar, die ich mir auf den Kopf gestellt habe.
Extrem einfache Ebene:
Geben Sie eine Mitarbeitertabelle mit den Spalten EmpID, Vorname, Nachname, HireDate und TerminationDate an:
Schreiben Sie eine Abfrage, um alle Mitarbeiter, die noch für das Unternehmen tätig sind, mit Nachnamen zurückzugeben, die mit "Smith" beginnen, sortiert nach Nachname und Vorname.
Einfache Ebene
Ausgehend von der obigen Employee-Tabelle sowie einer neuen Tabelle "AnnualReviews" mit den Spalten EmpID und ReviewDate:
Schreiben Sie eine Abfrage, um alle Mitarbeiter zurückzugeben, die noch nie eine nach HireDate sortierte Bewertung erhalten haben.
Mittlere Ebene In
Anbetracht der obigen Mitarbeitertabelle schreiben Sie eine Abfrage, um die Differenz (in Tagen) zwischen dem am meisten und dem am wenigsten beschäftigten Mitarbeiter zu berechnen, der noch für das Unternehmen arbeitet.
Schwierigkeitsgrad In
Anbetracht der obigen Mitarbeitertabelle schreiben Sie eine Abfrage, um den längsten Zeitraum (in Tagen) zu berechnen, den das Unternehmen ohne Einstellung oder Entlassung eines Mitarbeiters zurückgelegt hat.
Härteres Level
Schreiben Sie unter Verwendung derselben Tabellen eine Abfrage, die jeden Mitarbeiter zurückgibt, und geben Sie für jede Zeile / jeden Mitarbeiter die höchste Anzahl von Mitarbeitern an, die zu irgendeinem Zeitpunkt während ihrer Amtszeit für das Unternehmen gearbeitet haben, und das erste Datum, an dem das Maximum erreicht wurde. Zusätzliche Punkte für die Nichtbenutzung von Cursorn.