AW2008R2 – Zadanie 1 – ROZWIĄZANIE

Zadanie 1.

Pokaż 10-ciu pierwszych pracowników którzy mają na nazwisko „Anderson”. Prawie jak Neo w Matrix-ie 🙂

Po uruchomieniu zapytania powinniśmy otrzymać poniższy wynik

 

Adventureworks 2008 R2 zadanie 1
Adventureworks 2008 R2 zadanie 1

 

OK nasze pierwsze zapytanie

AW20082008R2 w tytule to skrót od AdventureWorks 2008 R2 i tą bazą na początku się zajmiemy

Zacznijmy od czegoś naprawdę prostego np.

Od czego zaczniemy. Na początku na pewno od wskazania skąd będziemy czerpać dane i jakie dane chcemy wyświetlać w naszym zestawieniu/raporcie.

Ja mam taki sposób ze zaczynam od wskazania źródła danych czyli od polecenia FROM a ponieważ nasze dane będą pochodzić z tabeli Person.Person to polecenie FROM będzie wyglądało następująco:

1b

[ Dobre praktyki ] stosujcie metodę wcięć w kodzie zapytania to pomoże Wam wizualnie szybciej odnajdować szukane części kodu przy większych zapytaniach. Błędem jest myślenie „a co tam na razie nauczę się pisać zapytania a później zacznę zwracać uwagę na wizualny aspekt kodu”. Myślę, że to błąd. Jak się nauczycie pisać kod na początku tak będziecie pisać cały czas i trudno będzie się Wam później przestawić. Ale wracamy do zapytania.

Po określeniu źródła określamy co chcemy mieć w raporcie, czyli kolumny które będziemy wyświetlać. W zadaniu nie ma nic ponadto żebyśmy wyświetlili ilu tych „Andersonów” jest. Ale taki raport tylko z kolumną wyświetlającą tylko nazwiska i nic więcej to też nie jest dobry pomysł, więc zróbmy raport który wyświetli nam Imię i Nazwisko pracownika (oczywiście założenie tego zadania jest aby Nazwisko=’Anderson’).

[ Dobre praktyki ] Kolejną dobrą praktyką przy pisaniu zapytań w języku SQL to wyświetlanie minimum informacji których potrzebujemy. Chodzi o to, że jeśli mamy wyświetlić Imię i Nazwisko (jak w tym zadaniu) to wyświetlmy tylko te informacje i żadnych zbędnych. Dlaczego ? Bo każda dodatkowa informacja którą wyświetlimy zabierze nam czas na wykonanie się zapytania a jeśli zapytanie jest bardzo rozbudowane i źle napisane może nawet „zapchać” serwer.

Wróćmy więc do zapytanie. Określimy teraz co chcemy wyświetlić, czyli Imię i Nazwisko. W naszej tabeli kolumny które zawierają te dane to: FirstName i LastName. Nasze zapytanie przybierze więc formę

2a

Następnie określmy źródło danych czyli z jakiej bazy chcemy korzystać, służy do tego polecenie USE [nazwa bazy] GO. Nasze zapytanie w tym momencie przybierze postać.

3

Określiliśmy już prawie wszystkie parametry zapytania:

  • Bazę danych z której chcemy korzystać
  • Jakie dane chcemy pobierać, czyli że mamy pobierać tylko Imię i Nazwisko
  • Z jakiej tabeli będziemy pobierać dane. Tu „Person.Person”

Ostatnią rzecz którą musimy wykonać to wyświetlić wszystkie osoby które mają na nazwisko ‚Anderson’. Warunki wypisujemy po komendzie „WHERE”. Ponieważ chcemy aby Nazwisko było równe =Anderson a w tabeli Person nazwisko znajduje się w polu LastName więc musimy to zapisać w następujący sposób

4

i ostatnia rzecz, czyli wyświetlenie tylko 10 pierwszych rekordów. Wykorzystamy tutaj polecenie „TOP 10” które umieścimy po poleceniu SELECT. Nasze zapytanie przybierze ostateczną postać

5

gotowe 🙂

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s