Archiwa kategorii: Kurs SQL

Kurs SQL. Zadanie 11. Pokaż wszystkich pracowników których bezpośrednim przełożonym jest Leopold Banko.

Czego się dowiesz czytając ten wpis:

  • poznasz polecenie JOIN,
  • poznasz wyrażenie IS NULL,
  • powtórzysz wiedzę nt. ALIASÓW i WHERE.

Zadanie 11.

Pokaż wszystkich pracowników których bezpośrednim przełożonym jest Leopold Banko. Wyniki przedstaw w konwencji imię, nazwisko w jednej kolumnie i imię i nazwisko przełożonego w drugiej kolumnie.

Rozwiązanie:

                Jedna z pierwszych czynności jest określenie źródła danych, czyli:

FROM
   Pracownicy

    Zastanówmy się w jaki sposób uzyskać informację na temat kto jest szefem danego pracownika i odpowiednio je przefiltrować. Informacje kto jest szefem kogo znajduje się w kolumnie „ID_przelozonego”. Najszybszą metodą jest przefiltrowanie tabeli pracownicy po identyfikatorze/ID Pana Bańko i z głowy. Ale jak zrobić, żeby skorzystać z jego nazwiska? Tutaj z pomocą przyjdzie nam polecenie JOIN i taka fajna sztuczka. Otóż istnieje możliwość „jakby zdublowania” tabeli „Pracownicy” i połączenie obu tabel.  Dla rozróżnienia obu tabel nadajmy im aliasy. Pierwszej nadajmy alias „P” a drugiej alias „SZEF”. Czyli reasumując mamy teraz dwie tabele „Pracownicy” o różnych nazwach i teraz będziemy chcieli je połączyć ale chcemy je połączyć w taki sposób żeby do każdego pracownia przyporządkować jego szefa. W dalszej części będę się już posługiwać aliasami tabel. W tabeli „P” istnieje kolumna „ID_przelozonego”. Jest to po prostu wartość „ID_pracownika” szefa danej osoby. Żeby uzyskać zadowalający nas efekt musimy połączyć/powiązać odpowiednie „ID_przełozonego” z tabeli „P” z „ID_pracownika” z tabeli „SZEF”. I tutaj skorzystamy z polecenia JOIN, opis poniżej.

Tabela1 JOIN Tabela2 ON (warunek złączenia)

W naszym przypadku będzie to wyglądało tak:

FROM
Pracownicy AS P JOIN Pracownicy AS SZEF ON P.ID_przelozonego = SZEF.ID_pracownika

Żeby lepiej zobrazować co się dzieje podczas złączenia prezentuję poniższy schemat.

kurs sql sql course

Polecenie JOIN znajdzie nam część wspólną obu tabel, czyli znajdzie wszystkie rekordy które po obu stronach (w obu tabelach) będą miały wartości i to wartości odpowiadające warunkowi złączenia. Innymi słowy takie rekordy gdzie dla wartości „ID_przełozonego”, z tabeli „P”, będzie istniała odpowiednia wartość „ID_pracownika”, z tabeli „SZEF”.

Teraz określimy jakie informacje z naszych tabel, z jakich kolumn, będziemy wyświetlać. Po klauzuli SELECT określamy (posługując się aliasami) jakie kolumny z jakich tabel chcemy prezentować. Pamiętajmy, że wyniki mamy prezentować w konwencji imię, nazwisko w jednej kolumnie i imię i nazwisko przełożonego w drugiej kolumnie.

SELECT
       P.imie+' '+P.nazwisko AS [Imię i Nazwisko]
      ,SZEF.imie+' '+SZEF.nazwisko AS [Imię i Nazwisko Przełożonego]

Nasze zapytanie w tym momencie wygląda tak.

SELECT
        P.imie+' '+P.nazwisko AS [Imię i Nazwisko]
       ,SZEF.imie+' '+SZEF.nazwisko AS [Imię i Nazwisk Przełożonego]
FROM
      Pracownicy AS P JOIN Pracownicy AS SZEF
      ON (P.ID_przelozonego = SZEF.ID_pracownika)

Gdybyśmy jednak uruchomili zapytanie w takiej postaci nie uzyskamy jeszcze zadowalającego nas efektu ponieważ w wynikach zobaczymy wszystkich pracowników a my chcemy tylko tych których bezpośrednim przełożonym jest Leopold Banko. Żeby osiągnąć nasz cel w klauzuli WHERE musimy wpisać jeszcze warunek filtrowania, czyli wyświetlić tylko te rekordy gdzie szefem jest Pan Banko.

     WHERE
            SZEF.nazwisko = 'Banko'

W tym momencie nasze zapytanie przybierze formę.

SELECT
        P.imie+' '+P.nazwisko AS [Imię i Nazwisko]
       ,SZEF.imie+' '+SZEF.nazwisko AS [Imię i Nazwisk Przełożonego]
FROM
      Pracownicy AS P JOIN Pracownicy AS SZEF ON P.ID_przelozonego = SZEF.ID_pracownika
WHERE
      SZEF.nazwisko = 'Banko'

Uruchamiamy zapytanie i otrzymujemy 4 rekordy z imieniem i nazwiskiem szefa Leopold Banko. Wydaje się, że wszystko jest już w porządku i otrzymujemy prawidłową liczbę rekordów. Specjalnie wybrałem taką sytuację żeby pokazać jeszcze jedną pułapkę. Przeanalizujmy tabelę „Pracownicy” i kolumnę „dataKoniecZatrudnienia” która przechowuje daty zakończenia stosunku pracy z pracownikiem. Jeżeli przy pracowniku w tej kolumnie znajduje się jakaś data, czyli dany pracownik już nie pracuje w banku, po co nam on w wynikach naszego zapytania. Na poniższym rysunku możecie zobaczyć dwóch pracowników z których jeden już nie pracuje w banku z uwagi na to, że w kolumnie „dataKoniecZatrudnienia” jest wprowadzona wartość w jego rekordzie.

kurs sql sql course Czyli widzimy, że Pan Julian Zdziwiony nie pracuje już w banku od dnia 21 maja 1990 r. Idąc dalej w naszych rozważaniach, czyli żeby uzyskać listę aktualnie pracujących osób w banku musimy szukać pustych wartości (wartości NULL) w kolumnie „dataKoniecZatrudnienia”. Do naszej klauzuli WHERE musimy dopisać jeszcze jeden warunek filtrowania.

WHERE
      SZEF.nazwisko = 'Banko'
      AND P.dataKoniecZatrudnienia IS NULL

Wyrażenie na końcu „IS NULL” znaczy tyle co „jest pusty”. Czyli szukamy tylko tych rekordów które w kolumnie „dataKoniecZatrudnienia” dla konkretnej osoby nie mają wartości lub inaczej mają wartość NULL. Całe gotowe zapytanie poniżej.

SELECT
        P.imie+' '+P.nazwisko AS [Imię i Nazwisko]
       ,SZEF.imie+' '+SZEF.nazwisko AS [Imię i Nazwisk Przełożonego]
FROM
      Pracownicy AS P JOIN Pracownicy AS SZEF ON P.ID_przelozonego = SZEF.ID_pracownika
WHERE
      SZEF.nazwisko = 'Banko'
      AND P.dataKoniecZatrudnienia IS NULL

Efekt uruchomienia naszego zapytania poniżej.

kurs sql sql course

poprzedni

Kurs SQL. Spis treści.

KURS SQL

kurs sql wstęp Wstęp

kurs sql szczypta teorii. Szczypta teorii.

kurs sql SQL Server 2008 R2 (skąd pobrać) SQL Server 2008 R2 (skąd pobrać)

kurs sql SQL Server 2008 R2 Express (instalacja) SQL Server 2008 R2 Express (instalacja)

kurs sql Northwind – treningowa baza danych Northwind – treningowa baza danych

kurs sql Northwind – instalacja/dodanie bazy danych Northwind – instalacja/dodanie bazy danych

kurs sql Treningowa baza danych BANK_v2 (struktura) Treningowa baza danych BANK_v2 (struktura)

kurs sql Treningowa baza danych BANK_v2 (instalacja) Treningowa baza danych BANK_v2 (instalacja)

kurs sql Przygotowanie do tworzenia zapytań. Przygotowanie do tworzenia zapytań.

kurs sql Zadanie 1. Wyświetl dane wszystkich pracowników w banku (SELECT, FROM) Zadanie 1. Wyświetl dane wszystkich pracowników w banku (SELECT, FROM)

kurs sql Zadanie 2. Wyświetl informacje o wszystkich stanowiskach w banku (SELECT, FROM) Zadanie 2. Wyświetl informacje o wszystkich stanowiskach w banku (SELECT, FROM)

kurs sql Zadanie 3. Wyświetl informacje o wszystkich działach w banku (SELECT, FROM) Zadanie 3. Wyświetl informacje o wszystkich działach w banku (SELECT, FROM)

kurs sql Zadanie 4. Wyświetl imiona, nazwiska i pensję wszystkich pracowników (SELECT FROM) Zadanie 4. Wyświetl imiona, nazwiska i pensję wszystkich pracowników (SELECT FROM)

kurs sql Zadanie 5. Wyświetl imiona, nazwiska i całkowite wynagrodzenie (operacje arytmetyczne) Zadanie 5. Wyświetl imiona, nazwiska i całkowite wynagrodzenie (operacje arytmetyczne)

kurs sql korzystanie z aliasów. Zadanie 6. Korzystanie z aliasów.

kurs sql dodawanie komentarzy. Zadanie 7. Dodawanie komentarzy.

kurs sql round cast where order by Zadanie 8. Pokaż dniówkę, tygodniówkę, pensję miesięczną i roczną wszystkich pracowników.

kurs sql round cast where order by Zadanie 9. Pokaż wszystkich pracowników, których nazwiska zaczynają się na M. Wyświetl tylko Imię i Nazwisko pracownika.

kurs sql sql course sql where sql in sql or Zadanie 10. Pokaż wszystkich pracowników, którzy pracują w dziale logistyki lub informatyki. W wyniku wyświetl tylko imię i nazwisko pracownika.

kurs sql sql course sql where join is null Zadanie 11. Pokaż wszystkich pracowników których bezpośrednim przełożonym jest Leopold Banko. WHERE JOIN IS NULL.

Kurs SQL. Zadanie 7. Dodawanie komentarzy.

Przy tym zadaniu pokażę Wam jak dodać komentarz w zapytaniu. Ogólnie komentarze mają dwa zadania. Pierwsze, w danym miejscu mamy możliwość napisać parę słów wyjaśnienia do kodu zapytania, żeby wracając do tego zapytania za jakiś czas pamiętać o co nam chodziło. Drugie, żeby „wyłączyć” w danym momencie odpowiednią część zapytania (np. do przetestowania działania danego wariantu) bez potrzeby kasowania kodu.

Możemy dodać dwa rodzaje komentarzy:

  • jednowierszowy, znak „– – treść komentarza”. W tym wariancie wszystko w danym wierszu po dwóch myślnikach zostanie potraktowane jako komentarz aż do końca wiersza i nie będzie brane pod uwagę w momencie uruchomienia zapytania,
  • wielowierszowy, znak „ /* treść komentarza */”. W tym wariancie wszystko co znajdzie się pomiędzy dwoma ukośnikami i gwiazdkami zostanie potraktowane jako komentarz i jak w poprzednim wariancie nie będzie brane pod uwagę w momencie uruchomienia zapytania.

Przykład zastosowania obu wariantów komentarzy w poniższym kodzie. Do zaprezentowania działania komentarzy wykorzystamy zapytanie, które stworzyliśmy w zadaniu nr 6.

kurs sql Zadanie 7 dodawanie komentarzy

Omówmy trochę to nasze zapytanie. W liniach od 1 do 6 znajduje się komentarz wielowierszowy. Ja już wspominałem wszystko co znajdzie się pomiędzy znakami /* treść komentarza*/  zostanie potraktowane jako komentarz.

W linii 8 został zaprezentowany komentarz jednowierszowy. Tutaj możemy np. wpisać informację czego dotyczy dana część kodu. Oczywiście komentarz jednowierszowy i wielowierszowy może wykorzystać do opisu jednej linii kodu bez wyłączania tej linijki, co pokazuje linia 10 i 11.

Komentarze przydają się także do tego żeby w danej chwili np. w celach testowych wyłączyć jakąś część kodu, ale nie kasować tej części, co obrazuje linia 12. Zwróćcie uwagę, że „wyłączyliśmy” kolumnę [Wynagrodzenie całkowite] i nie pokazuje się ona w wynikach zapytania, ale nie musieliśmy kasować kodu w zapytani. To bardzo przydatna funkcjonalność.

W Management Studio możemy dodawać i usuwać komentarze klikając w odpowiednie ikony. Możemy w taki sposób zaznaczać wiele linii kodu naraz. Wykorzystujemy do tego dwie ikony z paska.

kurs sql Zadanie 7 dodawanie komentarzy

Przed kliknięciem w ikonę, w celu dodania komentarza, zaznaczamy kursorem w zapytaniu wiersze które chcemy zakomentować. Pamiętaj, te wiersze staną się wtedy niewidowczne podczas uruchamiania zapytania.

I na odwrót jeśli chcemy „odkomentować” jakieś wiersze które są aktualne „zakomentowane” należy je zaznaczyć i kliknąć w ikonę do usunięcia komentarza.

UWAGA: taki typ dodawania i usuwania komentarzy tyczy się tylko komentarzy jednowierszowych, czyli znak „– – ”. Możemy takim sposobem zaznaczyć więcej wierszy, wtedy przed każdym wierszem zobaczymy znak „– – ”, co obrazuje poniższy zrzut.

kurs sql Zadanie 7 dodawanie komentarzy

Jak widzisz w szybki i łatwy sposób możemy dodawać i usuwać komentarze w różnych celach.

poprzedni | następny

Kurs SQL. Zadanie 6. Korzystanie z aliasów.

Czego się dowiesz czytając ten wpis:

  • dowiesz się co to jest alias i nauczysz się je stosować,
  • powtórzysz jak wyświetlać tylko niektóre kolumny z tabeli,
  • powtórzysz wiedzę na temat komend: SELECT i

 

Zadanie 6.

Zmodyfikuj tak zapytanie z zadania nr 5 aby nadać nową nazwę „wynagrodzenie całkowite” kolumnie o nazwie „No column name”.

Rozwiązanie:

Co to w ogóle jest alias? Alias (inaczej: zwany, znany jako) to alternatywna nazwa dla jakiegoś obiektu, w naszym przypadku tym obiektem będzie kolumna (ale może to być np. cała tabela o czym dowiecie się w dalszej części kursu). Aliasy stosujemy np. kiedy chcemy zastąpić daną nazwę inną (bardziej przystępną dla nas) lub w ogóle rozróżnić obiekty np. jeżeli zdarza się, że w jednym zapytaniu występują obiekty o tej samej nazwie.

Ale wróćmy do naszego zadania. Mamy tutaj zmienić nazwę kolumny lub inaczej w ogóle ją nadać (jeżeli dla kogoś nazwa „No column name” nie jest nazwą). Zerknijmy na nasze zapytanie (z zadania 5) i efekt uruchomienia tego zapytania.

SELECT
imie
,nazwisko
,pensja + dodatki
FROM
Pracownicy

kurs sql zadanie 6 korzystanie z aliasów alias

Widzimy tutaj, że pierwsze dwie nazwy kolumn to powtórzenie nazw pól po komendzie SELECT (imie, nazwisko). Natomiast trzecia nazwa kolumny, czyli „No column name”, nie odzwierciedla trzeciego parametru po komendzie SELECT, czyli „pensja + dodatki”. Tak jak już wspominałem wcześniej dzieje się tak ponieważ mamy tutaj operację arytmetyczną. Żeby zmienić, bądź nadać, nazwę tej trzeciej kolumnie wykorzystamy alias i do tej operacji wykorzystamy słówko „AS”. Po trzecim parametrze dodajemy słówko AS po którym wpisujemy nazwę jaką chcemy nadać trzeciej kolumnie np. „Wynagrodzenie całkowite”. Z uwagi na to, że nasza nazwa kolumny składa się z dwóch wyrazów musimy „opisać go” nawiasem kwadratowym, czyli otrzymujemy [Wynagrodzenie całkowite]. W momencie kiedy uruchomilibyśmy zapytanie i nasz alias składałby się z dwóch wyrazów bez nawiasów kwadratowych otrzymalibyśmy komunikat o błędzie: „Incorrect syntax near ‘całkowite’”. Dla aliasów jednorazowych nie musimy stosować nawiasów zamkniętych. Poniżej zapytanie po modyfikacji.

SELECT
imie
,nazwisko
,pensja + dodatki AS [Wynagrodzenie całkowite]
FROM
Pracownicy

Efekt uruchomienia zapytanie prezentuję poniżej.

kurs sql zadanie 6 korzystanie z aliasów alias

Widzimy, że nazwa trzeciej kolumny ładnie zaczyna się od dużej litery więc zróbmy tak samo z pierwszą i drugą kolumną. Do pierwszej dodajmy „polskie znaki. W tym celu także wykorzystamy aliasy ale nie musimy korzystać z nawiasów kwadratowych. Końcowe zapytanie poniżej.

SELECT
Imie AS Imię
,nazwisko AS Nazwisko
,pensja + dodatki AS [Wynagrodzenie całkowite]
FROM
Pracownicy

Efekt naszego zapytania poniżej.

kurs sql zadanie 6 korzystanie z aliasów alias

poprzedni | następny

Kurs SQL. Zadanie 5. Wyświetl imiona, nazwiska i całkowite wynagrodzenie.

Czego się dowiesz czytając ten wpis:

  • nauczysz się jak wykonywać operacje arytmetyczne na danych,
  • powtórzysz jak wyświetlać tylko niektóre kolumny z tabeli,
  • powtórzysz wiedzę na temat komend: SELECT i

 

Zadanie 5.

Wyświetl imiona , nazwiska i całkowite wynagrodzenie (pensja + dodatki) wszystkich pracowników banku.

Rozwiązanie:

Zadanie jest prawie identyczne jak zadanie 4 z tą różnicą, że tutaj musimy zastosować operację arytmetyczną na danych. Musimy dodać dane z dwóch kolumn, czyli z kolumny pensja i kolumny dodatek, tak żeby powstało całkowite wynagrodzenie, które pracownik może otrzymać w miesiącu. Sprawa z dodawaniem wartości z kolumn jest bardzo prosta, po prostu pomiędzy nazwy kolumn wstawiamy znak „+”, czyli nasz SELECT będzie wyglądał jak poniżej (zachęcam do stosowania wcięć jak poniżej).

SELECT
imie
,nazwisko
,pensja + dodatki
Teraz określamy źródło danych więc wskazujemy tabelę „Pracownicy”.

FROM
Pracownicy
Składamy wszystko razem i otrzymujemy

SELECT
imie
,nazwisko
,pensja + dodatki
FROM
Pracownicy

Uruchamiamy nasze zapytanie i otrzymujemy wynik (poniżej).

Zadanie 5 - zrzut

Rezultat zapytania to 44 rekordy z których 24 prezentowanych jest na powyższym zrzucie.

Zwróćcie uwagę na jedną rzecz. Otóż nazwa kolumny prezentującej całkowite wynagrodzenie ma nazwę „(No column name)”.

noColumnName

Ktoś zapyta, o co tutaj chodzi? W momencie kiedy dodajemy (lub wykonujemy inne działania arytmetyczne) wartości z więcej niż jednej kolumny program nie wie której nazwy użyć, więc nie użyta jest w ogóle. Jest na to sposób. Możemy zastosować „alias” i nazwać tą kolumnę (i każdą inną) jak tylko chcemy, ale o tym w kolejnej części.

poprzedni | następny

Kurs SQL. Zadanie 4. Wyświetl imiona, nazwiska i pensję wszystkich pracowników.

Czego się dowiesz czytając ten wpis:

  • nauczysz się jak wyświetlać tylko niektóre kolumny z tabeli,
  • powtórzysz wiedzę na temat komend: SELECT i

Zadanie 4.

Wyświetl imiona , nazwiska i pensje wszystkich pracowników banku.

Rozwiązanie:

Zadanie to wygląda podobnie do zadania nr 1, jednak z tą różnicą, że mamy wyświetlić tylko niektóre dane (kolumny) z tabeli „Pracownicy”. Mamy wyświetlić tylko imiona, nazwiska i pensje pracowników banku. Na pewno wykorzystamy do tego celu komendę SELECT (po której określamy jakie dane chcemy wyświetlać), ale nie użyjemy gwiazdki „*”, bo oznacza to wyświetlenie wszystkich kolumn, tylko będziemy musieli „powiedzieć” dokładnie, które kolumny chcemy wyświetlać. Mamy wyświetlić tylko imiona, nazwiska i pensje, więc do dzieła.

SELECT imie,nazwisko,pensja

I standardowo należy określić źródło danych po komendzie FROM, czyli:

FROM Pracownicy

Zestawiając to razem uzyskujemy gotowe zapytanie.

SELECT
imie
,nazwisko
,pensja
FROM
Pracownicy

Zachęcam do stosowania wcięć w kodzie zapytania. Zwiększa to przejrzystość zapytania i szybciej możemy znaleźć interesującą nas część kodu w przypadku kiedy musimy coś dopisać/poprawić (szczególnie przy długich zapytaniach, nawet kilkudziesięcio linijkowych).

Efekt uruchomienia zapytania zobaczymy poniżej.

 

sql, kurs sql, darmowy kurs sql, zadanie 4, pokaż imię, nazwisko, pensje

Wynik zapytania to 44 wiersze. Pierwszych 16 z nich jest prezentowanych na powyższym zrzucie.

poprzedni | następny

Kurs SQL. Zadanie 3. Wyświetl informacje o wszystkich działach w banku.

Czego się dowiesz czytając ten wpis:

  • powtórzysz wiedzę na temat komendy SELECT,
  • powtórzysz wiedzę na temat komendy FROM.

Dodatkowe informacje:

  • w kursie korzystamy z bazy „BANK_v2”. Skrypt tworzący bazę znajdziesz tutaj, schemat bazy znajdziesz tutaj, schemat danych znajdziesz tutaj,
  • w naszym kursie korzystamy z Microsoft SQL Server (narzędzie to w wersji express (darmowej) znajdziesz tutaj).

 

Zadanie 3.

Wyświetl informacje o wszystkich działach w banku.

Rozwiązanie:

To ostatnie z serii prostych zapytań prezentujących całe tabele. Tym razem mamy wyświetlić informacje na temat wszystkich działów w banku. Pamiętamy z poprzednich zadań, że mamy wykorzystać komendę SELECT do określenia, co chcemy wyświetlać i komendę FROM do określenia źródła danych. Skoro mamy wyświetlić wszystkie dane to wiadomo jak w poprzednich zadaniach korzystamy ze znaku „*” po SELECT a dane, które chcemy pobrać mamy w tabeli „Dzialy”. Reasumując nasze zapytanie będzie wyglądało jak poniżej.

SELECT *

FROM Dzialy

Zapytanie mamy gotowe. Uruchamiamy go wciskając przycisk Execute lub F5. Poniżej wynik naszego zapytania.

 

sql, kurs sql, darmowy kurs sql, zadanie 3, pokaż wszystkie działy w banku

Wynik zapytania to 7 wierszy prezentowanych na powyższym zrzucie.

poprzedni | następny

Kurs SQL. Zadanie 2. Wyświetl informacje o wszystkich stanowiskach w banku.

Czego się dowiesz czytając ten wpis:

  • powtórzysz wiedzę na temat komendy SELECT,
  • powtórzysz wiedzę na temat komendy FROM.

Dodatkowe informacje:

  • w kursie korzystamy z bazy „BANK_v2”. Skrypt tworzący bazę znajdziesz tutaj, schemat bazy znajdziesz tutaj, schemat danych znajdziesz tutaj,

w naszym kursie korzystamy z Microsoft SQL Server (narzędzie to w wersji express (darmowej) znajdziesz tutaj).

 

Zadanie 2.

Wyświetl informację o wszystkich stanowiskach w banku.

Rozwiązanie:

W poprzedniej części kursu poznaliśmy polecenia SELECT i FROM, więc nie będę jeszcze raz o tym pisał. Jeśli zacząłeś od tego wpisu cofnij się do poprzedniego wpisu i uzupełnij wiedzę J.

Tak jak w pierwszym przypadku kiedy chcieliśmy wyświetlić wszystkich pracowników banku, teraz też musimy zająć się dwoma sprawami. Po pierwsze jakie dane chcemy wyświetlić i wiemy już, że odpowiada za to polecenie SELECT. Po drugie musimy określić nasze źródło danych, czyli gdzie znajdują się dane, które chcemy wyświetlić.

Ponieważ w zadaniu nie ma mowy o jakichś konkretnych danych, więc chodzi o wszystkie dane, czyli znowu korzystamy ze znaku „*” po komendzie SELECT. Jeśli chodzi o źródło danych to dane, które chcemy wyświetlić znajdują się w tabeli „Stanowiska”. Składając wszystko razem otrzymujemy poniższe zapytanie.

SELECT *

FROM Stanowiska

 

Uruchamiamy nasze zapytanie klawiszem F5 i gotowe, otrzymujemy wynik jak na zrzucie poniżej.

 

sql, kurs sql, darmowy kurs sql, zadanie 2 pokaż wszystkie stanowiska w banku

Wynik zapytania to 7 wierszy prezentowanych na powyższym zrzucie.

poprzedni | następny

Kurs SQL. Zadanie 1. Wyświetl dane wszystkich pracowników w banku.

Czego się dowiesz czytając ten wpis:

  • poznasz polecenie SELECT,
  • poznasz polecenie FROM,
  • stworzysz swoje pierwsze zapytanie SQL,
  • jak pisać zapytania w programie Management Studio.

Dodatkowe informacje:

  • w kursie korzystamy z bazy „BANK_v2”. Skrypt tworzący bazę znajdziesz tutaj, schemat bazy znajdziesz tutaj, schemat danych znajdziesz tutaj,
  • w naszym kursie korzystamy z Microsoft SQL Server (narzędzie to w wersji express (darmowej) znajdziesz tutaj).

 

Jednymi z najprostszych zapytań SQL-owych jakie znam to zapytanie typu „wyświetl wszystko z tabeli X”. Zapytania tego typu są bardzo proste, ale wyświetlają wszystkie dane w danej tabeli, a nie zawsze jest to konieczne. Przy „małych” bazach nie ma to większego znaczenia, ale jak w tabeli „siedzi” 1.000.000 rekordów i przyrost bazy jest duży to należy się zastanowić czy wyświetlanie wszystkich danych z danej tabeli jest zasadne, chodzi tutaj o czas wykonywania zapytania. Spróbujmy stworzyć nasze pierwsze zapytanie, które wyświetli nam dane o wszystkich pracownikach naszego banku.

Zadanie 1.

Wyświetl dane wszystkich pracowników w banku.

Rozwiązanie:

Na początku uruchomimy program Management Studio, w którym będziemy pisali nasze zapytania do bazy danych.

Jak podejść do tego zadania? Trzeba zwrócić uwagę na dwie rzeczy. Pierwsza to, jaki zakres danych nas interesuje, czyli jakie dane chcemy pozyskać (wyświetlić). W naszym przypadku będą to wszystkie dane z tabeli przechowującej dane o pracownikach, a druga sprawa to musimy określić źródło danych, czyli skąd chcemy pozyskać te dane, w naszym przypadku będzie to tabela „Pracownicy”.

Do określenia, co chcemy wyświetlać (jakie dane chcemy pozyskać?) służy polecenie SELECT. My chcemy wyświetlić wszystkie dane o wszystkich pracownikach. Do tego celu służy znak „*„. Chcemy także wyświetlić wszystkie rekordy więc nie ograniczamy ilości rekordów żadnymi warunkami. Składając wszystko do siebie otrzymujemy polecenie

SELECT *

Uruchamiając nasze zapytanie teraz otrzymamy oczywiście błąd, bo nie określiliśmy skąd chcemy pozyskiwać dane, czyli nie określiliśmy źródła danych. Do tego celu wykorzystujemy polecenie FROM, po którym wskazujemy tabelę z której będziemy pobierać dane, czyli otrzymujemy polecenie:

FROM Pracownicy

 

Składając obydwa polecenia do siebie otrzymujemy składnię:

SELECT *

FROM Pracownicy

 

I w tym momencie napisałeś swoje pierwsze zapytanie SQL.

Uruchamiamy nasze zapytanie klawiszem F5 i gotowe, otrzymujemy wynik jak na zrzucie poniżej.

 

sql, kurs sql, darmowy kurs sql, zadanie1, pokaż wszystkich pracowników banku

Wynik zapytania to 44 wiersze. Pierwszych 26 prezentowanych jest na powyższym zrzucie.

poprzedni | następny

Kurs SQL. Przygotowanie do tworzenia zapytań.

Teraz kilka zdań na temat jak rozpocząć pisanie zapytań SQL-owych w Management Studio.

  1. Uruchamiamy program Management Studio klikając dwukrotnie na ikonkę na pulpicie.
    Management Studio ikona na pulpicie
  2. W celu włączenie okna gdzie będziemy mogli pisać nasze zapytanie należy kliknąć w przycisk „New Query”. Po naciśnięciu tego przycisku po prawej stronie otworzy się okienko, w którym możemy tworzyć nasze zapytanie.
    NewQuery_
  3. Ważną rzeczą jest, aby przed rozpoczęciem pracy przy tworzeniu zapytania ustawić się w odpowiednim kontekście, czyli żeby nasza baza BANK_v2 była bazą która aktualnie jest w użyciu. Możemy to zrobić wybierając nazwę naszej bazy z rozwijalnej listy na jednym z pasków co prezentuje poniższy zrzut.kontekst_
  4. Jeżeli wykonaliśmy wszystkie powyższe czynności możemy zabrać się za tworzenie naszego zapytania (to omówimy w kolejnych częściach przy pisaniu zapytań do odpowiednich zadań). Poniżej przykładowe zapytanie.
    pierwsze_zapytanie_
  5. Kiedy zapytanie jest gotowe uruchamiamy je wciskają na klawiaturze przycisk F5 lub przycisk Execute na pasku zadań. Efekt naszego zapytania będzie widoczny w okienku poniżej samego zapytania, co prezentuje poniższy zrzut.
    efekt_zapytania_

 

Skoro mamy już zainstalowane odpowiednie środowisko do pracy, mamy już postawioną bazę danych na której będziemy ćwiczyć i wiemy jak korzystać z aplikacji Management Studio w celu tworzenie zapytań, możemy przejść do konkretnych zadań.

poprzedni | następny