Kurs SQL. Polecenie DISTINCT.

Zadanie

Wyświetl wszystkie numery ID pracowników którzy w okresie od 1 sierpnia 1996 do 15 sierpnia 1996 do których były przypisane jakiekolwiek zamówienia klientów.

Rozwiązanie

Warunki początkowe:

  • w tym zadaniu korzystamy z treningowej bazy „Northwind”,
  • wszystkie zrzuty ekranowej pochodzą z SQL Server 2008 R2,

Jak przy każdym zadaniu na początku należy określić kilka rzeczy:

  1. Jakie dane chcemy wyświetlić, gdzie znajdują się dane których potrzebujemy?

  2. oraz określić warunki brzegowe.

Ad.1. Jakie dane chcemy wyświetlić, gdzie znajdują się dane których potrzebujemy?

Dane których potrzebujemy do wyśtwielenia znajdują się w tabeli orders (patrz schemat bazy Nortwind tutaj). Do wyświetlenia potrzebujemy tylko numery ID pracowników, czyli potrzebujemy wyświetlić dane z kolumny EmployeeID.

nasza sekcja SELECT będzie wyglądała następująco:

SELECT EmployeeID

teraz określamy źródło danych, jak już powiedziałem źródłem danych jest tabela Orders, czyli sekcja FROM będzie wyglądała następująco:

FROM Orders

Ad.2. Określ warunki brzegowe.

Do wyświetlenia poprawnie danych potrzebujemy wyświetlić tylko zamówienia które zostały złożone między 1 sierpnia 1996 a 15 sierpnia 1996. W tym celu będziemy musieli analizować kolumnę OrderDate, gdzie przechowywana jest data zamówienia. Jeśli ta data, dla pojedynczego zamówienia, mieści się w zakresie dat 1-15 sierpnia 1996 rekord powinien być wyświetlony.

Nasze warunki brzegowe czyli sekcja WHERE będzie wyglądała tak:

WHERE OrderDate BETWEEN '1996-08-01' AND '1996-08-15'

po złożeniu wszystkiego w całość nasze zapytanie wygląda tak:

SELECT EmployeeID
FROM Orders
WHERE OrderDate BETWEEN '1996-08-01' AND '1996-08-15'

Kurs SQL - polecenie DISTINCT. Widok zapytania w SQL Server.
Kurs SQL – polecenie DISTINCT. Widok zapytania w SQL Server.

 

Uruchamiamy zapytanie i otrzymujemy wynik.

Kurs SQL - Polecenie DISTINCT. Rezultat uruchomienia zapytania.
Kurs SQL – Polecenie DISTINCT. Rezultat uruchomienia zapytania.

 

Otrzymaliśmy 13 rekordów. Zwróćmy jednak uwagę, że niektóre numery ID pracowników powtarzają się a my chcemy tylko listę z niepowtarzającymi się numerami.

Kurs SQL - Polecenie DISTINCT. Resultat zapytania.
Kurs SQL – Polecenie DISTINCT. Resultat zapytania.

W tym celu korzystamy z polecenia DISTINCT, które umieszczamy zaraz za słówkiem SELECT.

03. DISTINCT marked

uruchamiamy zapytanie jeszcze raz i otrzymujemy taki wynik jaki chcieliśmy. Unikalną listę numerów ID pracowników obsługujących zamówienia złożone między 1-15 sierpnia 1996.

Kurs SQL - polecenie DISTINCT. Wynik finalny zapytania.
Kurs SQL – polecenie DISTINCT. Wynik finalny zapytania.

Kurs SQL. Polecenie SELECT.

Jednym z podstawowych poleceń języka SQL jest polecenie SELECT. Dzięki niemu możemy „pobierać” z bazy danych dane których potrzebujemy. Żeby otrzymać jakieś informacje z bazy danych musimy określić dokładnie czego chcemy i „powiedzieć” to w takie sposób żeby nasz komputer to zrozumiał. Musimy więc określić czego chcemy? skąd chcemy to pobrać i określić ewentualne warunki dla naszego zapytania.

W ramach tego kursu, jako bazę treningową, będziemy wykorzystywać bazę Nortwind (do pobrania tutaj).

 


Zadanie 1

Pokaż wszystkich pracowników z bazy Northwind.

Rozwiązanie:

Tak jak pisałem wcześniej musimy określić kilka rzeczy:

  1. czego chcemy, w tym przypadku bardziej co chcemy wyświetlić?
  2. skąd chcemy to pobrać?
  3. oraz określić warunki brzegowe.

OK to określmy

Ad.1. Co chcemy wyświetlić ?

W tym zadaniu chcemy wyświetlić listę pracowników. Do tego potrzebne nam będzie polecenie SELECT od którego zaczniemy nasze zapytanie. W naszym zadaniu nie ma słowa o tym jakie dane na temat pracowników należy wyświetlić więc wyświetlimy wszystkie jakie znajdują się w bazie. Początek naszego zapytania przybierze więc postać:

SELECT *

znak „*” oznacza wszystkie pola z danego rekordu (wszystkie pola opisujące jednego pracownika).

Ad.2. Skąd chcemy to pobrać ?

Dane pracowników w bazie Northwind przechowywane są w tabeli o nazwie „Employees” więc do takiej tabeli się odwołamy. Do tego potrzebne będzie nam polecenie FROM więc ta część zapytania przybierze postać:

FROM employees

Ad.3. Określić warunki brzegowe.

W tym zadanie nie ma żadnych warunków brzegowych więc ta część pozostanie pusta.

Złóżmy więc wszystko w całość i nasze zapytanie przybierze postać:

Kurs SQL. Polecenie SELECT. Zadanie 1. Widok zapytania.
Kurs SQL. Polecenie SELECT. Zadanie 1. Widok zapytania.

Wynik:

Wynikiem uruchomienia naszego zapytania jest znalezienie 9 rekordów w bazie Northwind.

Kurs SQL. Polecenie SELECT. Zadanie 1. Wynik zapytania.
Kurs SQL. Polecenie SELECT. Zadanie 1. Wynik zapytania.

Tak oto rozwiązaliśmy nasze pierwsze zadanie i napisaliśmy pierwsze zapytanie SQL.

W ramach ćwiczeń z poleceniem SELECT przećwiczmy jeszcze dwa zadania

 


Zadanie 2

Wyświetl wszystkie kategorie z bazy Northwind ale tylko: identyfikator kategorii, nazwę kategorii i opis kategorii.

Rozwiązanie:

  1. Co chcemy wyświetlić?
  2. skąd chcemy to pobrać, gdzie to się znajduje?
  3. oraz określić warunki brzegowe.

zaczynamy

Przydatne linki: schemat bazy Northwind, instalacja SQL Server 2008 R2

Ad.1. Co chcemy wyświetlić ?

Chcemy wyświetlić wszystkie kategorie ale tylko kolumny ID czyli identyfikator, nazwę  i opis kategorii, więc nasze zapytanie rozpoczniemy od polecenia

SELECT CategoryID, CategoryName, Description

Ad.2 gdzie to się znajduje ?

Informację o kategoriach znajdują się w tabeli Categories więc nasz klauzula FROM będzie wyglądała następująco

FROM Categories

Ad.3 warunki brzegowe?

Brak :)

Składając wszystko w całość uzyskujemy coś takiego

Kurs SQL. Polecenie SELECT. Zadanie 2.
Kurs SQL. Polecenie SELECT. Zadanie 2.

Wynikiem uruchomienia zapytania jest wyświetlenie 8 rekordów co prezentuje obrazek poniżej.

Kurs SQL. Polecenie SELECT. Zadanie 2.
Kurs SQL. Polecenie SELECT. Zadanie 2.

 

Ćwiczenie to podstawa więc na zakończenie zrobimy jeszcze jedno zadanie

 


Zadanie 3

Wyświetl wszystkie produkty z bazy Northwind, ale tylko pola: nazwę produktu, ilość na jednostkę oraz cenę jednostkową.

Rozwiązanie:

  1. Co chcemy wyświetlić?
  2. skąd chcemy to pobrać, gdzie to się znajduje?
  3. oraz określić warunki brzegowe.

zaczynamy

Przydatne linki: schemat bazy Northwind, instalacja SQL Server 2008 R2

Ad.1. Co chcemy wyświetlić ?

Produkty znajdujące się w tabeli Products ale my mamy wyświetlić tylko niektóre kolumny: nazwę produktu, ilość na jednostkę oraz cenę jednostkową. Nasze zapytanie będzie miało postać.

SELECT ProductName, QuantityPerUnit, UnitPrice

Ad.2 gdzie to się znajduje?

Informację których szukamy znajdują się w tabeli Products, więc

FROM Products

AD.3 warunków brzegowych brak

składamy całość i otrzymujemy

Kurs SQL. Polecenie SELECT. Zadanie 3.
Kurs SQL. Polecenie SELECT. Zadanie 3.

a wynik naszego zapytania wskaże nam 77 rekordów, rysunek poniżej

Kurs SQL. Polecenie SELECT. Zadanie 3.
Kurs SQL. Polecenie SELECT. Zadanie 3.

 

 

Spis treści

ico-asp-net-mvc-5
ASP.NET MVC 5
icon-csharp
C#
icon-sql-server
SQL Server
pozycjonowanie seo
SEO/Pozycjonowanie
Kurs SQL
Kurs SQL
icon-visual-studio
Visual Studio
linux debian
Linux/Debian
wordpress
WordPress
prestashop, prestashop demo, prestashop themes, prestashop download
Prestashop
windows server, windows server 2008, windows server 2008 r2, windows server 2008 r2 download,windows server 2008 r2 iso,windows server 2008 r2 sp2, windows server 2012, windows server 2016
Windows Server 2008 R2
programy
programy

 

powrotC# CSharp
Darmowy kurs C# CSharp
Zmienne
Zmienne domniemane.
Stała
Typy danych
Operatory arytmetyczne
Operatory przypisania
Inkrementacja. Operator inkrementacji. Pre i post inkrementacja.
Dekrementacja. Operator dekrementacji. Pre i post dekrementacja.
Konkatenacja, operator łączenia.
Rzutowanie.
Tablica (tablica jednowymiarowa).
Tablica wielowymiarowa.
Instrukcja warunkowa if.
Instrukcja warunkowa if else.
Instrukcja switch.
LINQ
LINQ to Objects
LINQ to XML
Klasy
Obiekty
kurs w trakcie tworzenia cdn..
Różne nt. C# CSharp
C# ciekawe linki
jak odwołać się do konkretnej komórki w elemencie typu DataTable
określenie liczby rekordów w wyniku zapytania do bazy
procedury składowe i ich wykorzystanie w kodzie aplikacji
wyświetlanie danych z bazy za pomocą kontrolki GridView
powrotProgramy
XAMPP import dużej bazy danych.
VirtualBox jak zamontować cdrom na działającej maszynie z Debianem
Hyper-V ciekawe linki
Hyper-V pobierz
VirtualBox tworzenie nowej wirtualnej maszyny
VirtualBox instalacja
powrotSQL Server
Instalacja
Dodanie nowej kolumny do tabeli i wypełnienie jej kolejnymi liczbami.
Nadaj klucz główny (PK) do jednej z istniejących kolumn w tabeli.
Tworzenie indeksów.
SQL przydatne linki.
powrotVisual Studio
dynamiczny model danych
zmiana języka na PL
kaskadowe listy rozwijalne
powrotWordPress
zmiana ustawień URL
zmiana hasła admina
Jak wstawić favicon w wordpressie? (panel administratora)
Jak wstawić favicon w wordpressie? (edycja ręczna)
powrotKurs 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)
Treningowa baza danych Northwind Treningowa baza danych Northwind
Instalacja/Dodanie bazy Northwind do SQL Server-a Instalacja/Dodanie bazy Northwind do SQL Server-a
kurs sql Baza danych BANK_v2 (struktura) Treningowa baza danych BANK_v2 (struktura)
kurs sql Jak utworzyć bazę BANK_v2 na SQL Server 2008 R2 Express Jak utworzyć bazę BANK_v2 na SQL Server 2008 R2 Express
kurs sql Przygotowanie do tworzenia zapytań Przygotowanie do tworzenia zapytań
kurs sql SELECT SELECT [Northwind]
kurs sql DISTINCT DISTINCT [Northwind]
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) [BANK_v2]
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) [BANK_v2]
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) [BANK_v2]
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) [BANK_v2]
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) [BANK_v2]
kurs sql Zadanie 6. Korzystanie z aliasów. Zadanie 6. Korzystanie z aliasów.
kurs sql Zadanie 7. Dodawanie komentarzy. Zadanie 7. Dodawanie komentarzy.


SQL przydatne linki.


kurs sql baza northwind zadania NORTHWIND
kurs sql Zadanie 1. Wyświetl wszystkich pracowników w formacie: Nazwisko, Imię, Stanowisko. Zadanie 1. Wyświetl wszystkich pracowników w formacie: Nazwisko, Imię, Stanowisko.
kurs sql Zadanie 2. Wyświetl wszystkich pracowników w formacie: Nazwisko, Imię, Stanowisko, Kraj i nazwij tak nagłówki kolumn, ale tylko tych ze Stanów Zjednoczonych. Zadanie 2. Wyświetl wszystkich pracowników w formacie: Nazwisko, Imię, Stanowisko, Kraj i nazwij tak nagłówki kolumn, ale tylko tych ze Stanów Zjednoczonych.
kurs sql Zadanie 3. Znajdź dane firmy o nazwie „Alfreds Futterkiste”. Zadanie 3. Znajdź dane firmy o nazwie „Alfreds Futterkiste”.
kurs sql Zadanie 4. Znajdź dostawców czekolady. Zadanie 4. Znajdź dostawców czekolady.
kurs sql Zadanie 5. Raport sprzedaży za 1996 rok. Zadanie 5. Raport sprzedaży za 1996 rok.
kurs sql Zadanie 6. Wyświetl liczbę pracowników. Zadanie 6. Wyświetl liczbę pracowników.

powrotLinux/Debian
Debian jak zamontować cdrom na działającej maszynie (VirtualBox) z Debianem
Debian .przydatne linki
powrotSEO/Pozycjonowanie
Czym jest pozycjonowanie?
SEO techniki pozycjonowania
Porady SEO
1. Dobór słów kluczowych.
2. Pierwsze wrażenie.
3. Blogowanie wspomaga SEO.
4. Skróć czas ładowania strony.
5. Pasek uzupełniania GOOGLE pomocą przy doborze słów kluczowych.
6. Wycena strony internetowej.
powrotPrestashop
Instalacja sklepu Prestashop.
Skąd pobrać sklep Prestashop?
powrotWindows Server 2008 R2
W przygotowaniu
powrotASP.NET MVC 5
#0 słowo wstępne – ASP.NET MVC 5
#1 Co to jest ASP.NET? I z czym to się je?
#2 Visual Studio, narzędzie wspomagające tworzenie projektów w ASP.NET MVC
#3 Visual Studio Community 2015 instalacja narzędzia
#4 Visual Studio Community 2015 podstawowe modułu
#5 Routing
#6 Kontroler
#7 Model
#8 Widok
#9 Pierwsza aplikacja w ASP.NET MVC
#9.1 Tworzymy pusty projekt ASP.NET MVC Web Application
#9.2 Tworzymy nowy kontroler – HomeController
#9.3 Tworzymy nowy widok o nazwie Index
#9.4 Dodajemy dynamiczną treść do widoku.
#9.5 Tworzenie formularza kontaktowego i wszystkich komponentów potrzebnych do jego obsługi.
#9.5.1 Tworzymy model danych dla formularza kontaktowego.
#9.5.2 Tworzymy nowy widok i metodę akcji FormContact.
#9.5.3 Tworzymy pola formularza FormContact.
#9.5.4 Dopisujemy obsługę stworzonego formularza kontaktowego.
#9.5.5 Dodanie nowego widoku sendForm.
#10 Delegaty.
Instrukcja warunkowa if.
Instrukcja warunkowa if else.
Instrukcja switch.
LINQ
LINQ to Objects
LINQ to XML
Klasy
Obiekty