To zależy od tego, jak trudne to ma być. Poza tym nieufnie udzielam odpowiedzi, ponieważ większość problemów z SQL ma wiele akceptowalnych sposobów działania, a także istnieją sposoby rozwiązywania problemów z SQL w niechlujny sposób, który spowoduje inne problemy. Osoba „oceniająca” odpowiedź zdecydowanie musi być w stanie rozwiązać ją samodzielnie.
To powiedziawszy, oto kilka wymyślonych przeze mnie z czubka głowy.
Niezwykle łatwy poziom:
Biorąc pod uwagę tabelę pracowników z kolumnami EmpID, Imię, Nazwisko, HireDate i TerminationDate:
Napisz zapytanie, aby zwrócić wszystkich pracowników nadal pracujących dla firmy o nazwiskach zaczynających się od „Smith” posortowanych według nazwiska, a następnie imienia.
Łatwy poziom
Biorąc pod uwagę powyższą tabelę pracowników oraz nową tabelę „Przegląd roczny” z kolumnami EmpID i Data przeglądu:
Napisz zapytanie, aby zwrócić wszystkich pracowników, którzy nigdy nie mieli oceny posortowanej według HireDate.
Poziom średni
Biorąc pod uwagę powyższą tabelę pracowników, napisz zapytanie, aby obliczyć różnicę (w dniach) między najbardziej i najmniej zatrudnionym pracownikiem, który nadal pracuje w firmie?
Poziom trudny
Biorąc pod uwagę powyższą tabelę pracowników, napisz zapytanie, aby obliczyć najdłuższy (w dniach) okres, w którym firma przeszła bez zatrudniania lub zwalniania z pracy.
Trudniejszy poziom
Ponownie, używając tych samych tabel, napisz zapytanie, które zwraca każdego pracownika, a dla każdego wiersza / pracownika należy podać największą liczbę pracowników, którzy pracowali dla firmy w dowolnym momencie ich kadencji oraz datę pierwszego osiągnięcia maksymalnego. Dodatkowe punkty za nieużywanie kursorów.