Przejdź do głównej zawartości

 

 Baza danych Access cz. 1



Kwerendy (zapytania)

Kwerendy   wybierające   (nazywane   też   zapytaniami   wybierającymi)   są   podstawowymi obiektami   w   MS   Access   służącymi   do   wyszukiwania   danych   w   tabelach.   W   wyniku uruchomienia  wcześniej  zdefiniowanej  kwerendy  możemy  oglądać  na  ekranie  arkusz  danych prezentujący wybrane pola oraz wybrane rekordy.  O  rekordach  oglądanych  w  wyniku  uruchomienia  kwerendy  mówimy, że  stanowią  one dynamiczny  zestaw  danych.  Zestaw  ten  jest  tworzony na  bieżąco  w  momencie  uruchomienia kwerendy.  W  bazie  danych  w  sposób  trwały  przechowywany  jest  tylko  projekt  kwerendy (czyli „przepis” na to, które pola i rekordy mają być wybrane). W najprostszym przypadku kwerenda wybierająca kierowana jest do jednej tabeli.  W  ogólności  kwerenda  może  wyświetlać  dane  z  wielu  tabel  jednocześnie,  ale  zagadnienie  to będzie omawiane na następnym wykładzie. 


Konstruowanie kryteriów wyboru 


Kryterium  wyboru  zastosowane  do  jednego  pola  to  odpowiednio  konstruowane  wyrażenie logiczne  (wartością  wyrażenia  jest PRAWDA  lub FAŁSZ).  Po  uruchomieniu  kwerendy wyświetlone  zostaną  tylko  te  rekordy,  dla  których  wartość  wyrażenia  (dla  konkretnych danych z rekordu) jest PRAWDA. 

Przykład: Chcemy wyświetlić osoby, które mają więcej niż dwoje dzieci. W siatce projektu kwerendy powinniśmy umieścić pola Nazwisko, Imię, Liczba Dzieci.  W kolumnie Liczba dzieci, w linii kryteria piszemy:>3 Trochę  przypomina  to  zapis  nierówności,  który  znany  jest  ze  szkoły,  np.  x  >  3.  Brakuje tu jednak  lewej  strony.  W  miejsce  „brakującego”  x  możemy  w  myślach dać nazwę pola. Zatem napis   > 3  można w tym przypadku interpretować tak: Liczba dzieci > 3. Access  w  wyniku  realizacji  kwerendy  wyświetli  wszystkie  rekordy,  dla  których  wartością skonstruowanego wyrażenia (kryterium wyboru) jest PRAWDA. Dla   pól   typu   liczba,   waluta,   autonumer   możemy   stosować   również   inne   operatory porównania: >, >=, <=, <>, =, 

A   jak   konstruować   bardziej   skomplikowane   kryteria   dla   jednego   pola? Możemy  użyć operatorów logicznych. 

Operatory logiczne





Priorytet operatorów


Kryteria dla pól Tekst, Nota i Hiperłącze

Uwzględniane rekordy

Kryterium

Wynik zapytania

Rekordy, które dokładnie pasują do określonej wartości, takiej jak Chiny.

"Chiny"

Zwraca rekordy, w których pole KrajRegion ma wartość Chiny.

Rekordy, które nie pasują do określonej wartości, takiej jak Meksyk.

Not "Meksyk"

Zwraca rekordy, w których pole KrajRegion ma wartość inną niż Meksyk.

Rekordy, które zaczynają się od określonego ciągu, takiego jak P.

Like P*

Zwraca rekordy wszystkich krajów/regionów, których nazwy zaczynają się od znaku „P”, na przykład Polska.

Uwaga: Znak gwiazdki (*) użyty w wyrażeniu reprezentuje dowolny ciąg znaków — jest on również określany jako symbol wieloznaczny. Listę znaków tego typu można znaleźć w artykule Dokumentacja symboli wieloznacznych programu Access.

Rekordy, które nie zaczynają się od określonego ciągu znaków, takiego jak P.

Not Like P*

Zwraca rekordy wszystkich krajów/regionów, których nazwy zaczynają się od znaku innego niż „P”.

Rekordy, które zawierają określony ciąg znaków, taki jak Korea.

Like "*Korea*"

Zwraca rekordy wszystkich krajów/regionów, które zawierają ciąg znaków „Korea”.

Rekordy, które nie zawierają określonego ciągu znaków, takiego jak Korea.

Not Like "*Korea*"

Zwraca rekordy wszystkich krajów/regionów, które nie zawierają ciągu znaków „Korea”.

Rekordy, które kończą się określonym ciągiem znaków, takim jak „yna”.

Like "*yna"

Zwraca rekordy wszystkich krajów/regionów, których nazwy kończą się na „yna”, na przykład Argentyna.

Rekordy, które nie kończą się określonym ciągiem znaków, takim jak „yna”.

Not Like "*yna"

Zwraca rekordy wszystkich krajów/regionów, których nazwy nie kończą się na „yna”, na przykład Argentyna.

Rekordy, które zawierają wartość null (lub nie zawierają żadnej wartości).

Is Null

Zwraca rekordy, które nie zawierają w polu żadnej wartości.

Rekordy, które nie zawierają wartości null.

Is Not Null

Zwraca rekordy, które zawierają w polu dowolną wartość.

Rekordy, które zawierają ciąg znaków o zerowej długości.

"" (para cudzysłowów)

Zwraca rekordy, w których pole jest puste (ale nie zawiera wartości null). Na przykład rekordy dotyczące sprzedaży do innego oddziału mogą zawierać puste pole KrajRegion.

Rekordy, które nie zawierają ciągu znaków o zerowej długości.

Not ""

Zwraca rekordy, w których pole KrajRegion nie jest puste.

Rekordy, które zawierają wartości null lub ciągi znaków o zerowej długości.

"" Or Is Null

Zwraca rekordy, w których w polu nie ma wartości lub ustawiono wartość oznaczającą pole puste.

Rekordy, które nie zawierają wartości oznaczającej pole puste ani nie są puste.

Is Not Null And Not ""

Zwraca rekordy, w których pole KrajRegion nie jest puste i nie zawiera wartości null.

Rekordy, które następują po określonej wartości (takiej jak Meksyk), gdy są posortowane w kolejności alfabetycznej.

>= "Meksyk"

Zwraca rekordy wszystkich krajów/regionów, poczynając od Meksyku, a kończąc na ostatniej literze alfabetu.

Rekordy, które zawierają się w określonym zakresie, na przykład od A do D.

Like "[A-D]*"

Zwraca rekordy krajów/regionów, których nazwy zaczynają się od liter od „A” do „D”.

Rekordy, które pasują do jednej z dwóch wartości, na przykład Polska lub USA.

"Polska" Or "USA"

Zwraca rekordy zawierające wartości Polska i USA.

Rekordy, które zawierają jedną spośród wymienionych wartości.

In("Francja"; "Chiny"; "Niemcy"; "Japonia")

Zwraca rekordy, które pasują do wszystkich krajów/regionów znajdujących się na liście.

Rekordy, które zawierają określone znaki na określonej pozycji w wartości pola.

Right([KrajRegion]; 1) = "y"

Zwraca rekordy wszystkich krajów/regionów, których nazwa kończy się literą „y”.

Rekordy, które spełniają wymagania dotyczące długości.

Len([KrajRegion]) > 10

Zwraca rekordy krajów/regionów, których długość nazwy przekracza 10 znaków.

Rekordy, które pasują do określonego wzoru.

Like "Chi??"

Zwraca rekordy pasujące do krajów/regionów, takich jak Chiny i Chile, których nazwy mają długość pięciu znaków, a pierwsze trzy z nich to „Chi”.

Uwaga: Znak zapytania (?) lub podkreślenia (_) użyty w wyrażeniu reprezentuje pojedynczy znak— te znaki są również określane jako symbole wieloznaczne. Znaku _ nie można użyć w jednym wyrażeniu razem ze znakiem ?, nie można go też użyć w jednym wyrażeniu z symbolem wieloznacznym *. Symbolu wieloznacznego _ można użyć w wyrażeniu, w którym znajduje się symbol wieloznaczny %.


Kryteria dla pól Liczba, Waluta i Autonumerowanie

Uwzględniane rekordy

Kryt erium

Wynik zapytania

Rekordy, które dokładnie pasują do wartości, takiej jak 100.

100

Zwraca rekordy, w których cena jednostkowa produktu wynosi 100 zł.

Rekordy, które nie pasują do wartości, takiej jak 1000.

Not 1000

Zwraca rekordy, w których cena jednostkowa produktu jest inna niż 1000 zł.

Rekordy, które zawierają wartości mniejsze niż określona wartość, taka jak 100.

< 100
<= 100

Zwraca rekordy, w których cena jednostkowa jest mniejsza niż 100 zł (<100). Drugie wyrażenie (<=100) wyświetla rekordy, w których cena jednostkowa jest mniejsza lub równa 100 zł.

Rekordy, które zawierają wartość większą niż określona wartość, taka jak 99,99.

>99,99
>=99,99

Zwraca rekordy, w których cena jednostkowa jest większa niż 99,99 zł (>99,99). Drugie wyrażenie wyświetla rekordy, w których cena jednostkowa jest większa lub równa 99,99 zł.

Rekordy, które zawierają jedną z dwóch wartości, takich jak 20 lub 25.

20 or 25

Zwraca rekordy, w których cena jednostkowa wynosi 20 zł lub 25 zł.

Rekordy, które zawierają wartość należącą do określonego zakresu wartości.

>49,99 and <99,99
—lub—
Between 50 and 100

Zwraca rekordy, w których cena jednostkowa należy do zakresu wartości (wyłączając te wartości) od 49,99 zł do 99,99 zł.

Rekordy, które zawierają wartość spoza określonego zakresu wartości.

<50 or >100

Zwraca rekordy, w których cena jednostkowa nie należy do zakresu wartości pomiędzy 50 zł a 100 zł.

Rekordy, które zawierają jedną spośród wymienionych wartości.

In(20; 25; 30)

Zwraca rekordy, w których cena jednostkowa wynosi 20 zł lub 25 zł albo 30 zł.

Rekordy, które zawierają wartości kończące się określonymi cyframi.

Like "*4,99"

Zwraca rekordy, w których cena jednostkowa kończy się wartością „4,99”, na przykład 4,99 zł, 14,99 zł, 24,99 zł itd.

Uwaga: Znak gwiazdki (*) lub procentu (%) użyty w wyrażeniu reprezentuje dowolny ciąg znaków — te znaki są też określane jako symbole wieloznaczne. Znaku % nie można użyć w jednym wyrażeniu razem ze znakiem *, nie można go też użyć w jednym wyrażeniu z symbolem wieloznacznym ?. Symbolu wieloznacznego % można użyć w wyrażeniu, w którym znajduje się symbol wieloznaczny _.

Rekordy, które zawierają wartość null (lub nie zawierają żadnej wartości).

Is Null

Zwraca rekordy, które nie zawierają żadnej wartości w polu CenaJednostkowa.

Zawierają wartość różną od null.

Is Not Null

Zwraca rekordy, które zawierają dowolną wartość w polu CenaJednostkowa.


Kryteria dla pól Data/godzina

Uwzględniane rekordy

Kryterium

Wynik zapytania

Rekordy, które dokładnie pasują do określonej wartości, takiej jak 2006-02-02.

#2006-02-02#

Zwraca rekordy transakcji, które miały miejsce 2 lutego 2006. Należy pamiętać, żeby otoczyć wartość daty znakami numeru #, aby program Access mógł rozróżnić, czy jest to wartość daty, czy ciągi tekstowe.

Rekordy, które nie pasują do określonej wartości, takiej jak 2006-02-02.

Not #2006-02-02#

Zwraca rekordy transakcji, które miały miejsce dnia innego niż 2 lutego 2006.

Rekordy, które zawierają wartości dat poprzedzających określoną datę, taką jak 2006-02-02.

< #2006-02-02#

Zwraca rekordy transakcji, które miały miejsce przed 2 lutego 2006.

Aby wyświetlić transakcje, które miały miejsce określonego dnia lub przed nim, należy skorzystać z operatora <= zamiast operatora <.

Rekordy, które zawierają wartości dat przypadających po określonej dacie, takiej jak 2006-02-02.

> #2006-02-02#

Zwraca rekordy transakcji, które miały miejsce po 2 lutym 2006.

Aby wyświetlić transakcje, które miały miejsce określonego dnia lub po nim, należy skorzystać z operatora >= zamiast operatora >.

Rekordy, które zawierają wartości z określonego zakresu dat

>#2006-02-02# and <#2006-02-04#

Zwraca rekordy transakcji, które miały miejsce między 2 lutym 2006 a 4 lutym 2006.

Do filtrowania zakresów dat (z datami krańcowymi włącznie) można również użyć operatora Between. Na przykład kryterium Between #2006-02-02# and #2006-02-04# ma takie samo znaczenie jak kryterium >=#2006-02-02# and <=#2006-02-04#.

Rekordy, które zawierają wartości spoza zakresu

<#2006-02-02# or >#2006-02-04#

Zwraca rekordy transakcji, które miały miejsce przed 2 lutym 2006 lub po 4 lutym 2006.

Rekordy, które zawierają jedną z dwóch wartości, takich jak 2006-02-02 lub 2006-02-03.

#2006-02-02# or #2006-02-03#

Zwraca rekordy transakcji, które miały miejsce 2 lutego 2006 lub 3 lutego 2006.

Elementy zawierające jedną z wielu wymienionych wartości.

In (#2006-02-01#, #2006-03-01#, #2006-04-01#)

Zwraca rekordy transakcji, które miały miejsce 1 lutego 2006, 1 marca 2006 lub 1 kwietnia 2006.

Rekordy, które zawierają datę przypadającą w określonym miesiącu (niezależnie od roku), na przykład w grudniu.

DatePart("m";[DataSprzedaży]) = 12

Zwraca rekordy transakcji, które miały miejsce w grudniu dowolnego roku.

Rekordy, które zawierają datę przypadającą w określonym kwartale (niezależnie od roku), na przykład w pierwszym kwartale.

DatePart("q";[DataSprzedaży]) = 1

Zwraca rekordy transakcji, które miały miejsce w pierwszym kwartale dowolnego roku.

Elementy zawierające dzisiejszą datę.

Date()

Zwraca rekordy transakcji, które miały miejsce w dniu bieżącym. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy, w których pole DataZamówienia zawiera datę 2 lutego 2006.

Elementy zawierające wczorajszą datę.

Date()-1

Zwraca rekordy transakcji, które miały miejsce dzień przed dniem bieżącym. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z dnia 1 lutego 2006.

Elementy zawierające jutrzejszą datę.

Date() + 1

Zwraca rekordy transakcji, które miały miejsce dzień po dniu bieżącym. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z dnia 3 lutego 2006.

Rekordy, które zawierają datę przypadającą w bieżącym tygodniu.

DatePart("ww";[DataSprzedaży]) = DatePart("ww";Date()) and Year([DataSprzedaży]) = Year(Date())

Zwraca rekordy transakcji, które miały miejsce w bieżącym tygodniu. Tydzień rozpoczyna się w niedzielę i kończy w sobotę.

Rekordy, które zawierają datę przypadającą w zeszłym tygodniu.

Year([DataSprzedaży])* 53 + DatePart("ww";[DataSprzedaży]) = Year(Date())* 53 + DatePart("ww";Date()) - 1

Zwraca rekordy transakcji, które miały miejsce w zeszłym tygodniu. Tydzień rozpoczyna się w niedzielę i kończy w sobotę.

Rekordy, które zawierają datę przypadającą w przyszłym tygodniu.

Year([DataSprzedaży])* 53+DatePart("ww"; [DataSprzedaży]) = Year(Date())* 53+DatePart("ww"; Date()) + 1

Zwraca rekordy transakcji, które będą miały miejsce w przyszłym tygodniu. Tydzień rozpoczyna się w niedzielę i kończy w sobotę.

Rekordy, które zawierają datę przypadającą w ciągu ostatnich 7 dni.

Between Date() and Date()-6

Zwraca rekordy transakcji, które miały miejsce w ciągu ostatnich 7 dni. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy, których data należy do zakresu od 24 stycznia 2006 do 2 lutego 2006.

Rekordy, które zawierają datę przypadającą w bieżącym miesiącu.

Year([DataSprzedaży]) = Year(Now()) And Month([DataSprzedaży]) = Month(Now())

Zwraca rekordy z bieżącego miesiąca. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z lutego 2006.

Rekordy, które zawierają datę przypadającą w zeszłym miesiącu.

Year([DataSprzedaży])* 12 + DatePart("m";[DataSprzedaży]) = Year(Date())* 12 + DatePart("m";Date()) - 1

Zwraca rekordy z zeszłego miesiąca. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy ze stycznia 2006.

Rekordy, które zawierają datę przypadającą w przyszłym miesiącu.

Year([DataSprzedaży])* 12 + DatePart("m";[DataSprzedaży]) = Year(Date())* 12 + DatePart("m";Date()) + 1

Zwraca rekordy z przyszłego miesiąca. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z marca 2006.

Rekordy, które zawierają datę przypadającą w ciągu ostatnich 30 lub 31 dni.

Between Date() And DateAdd("M";-1;Date())

Rekordy zawierające wartości miesięcznej sprzedaży. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z okresu od 2 stycznia 2006. do 2 lutego 2006

Rekordy, które zawierają datę przypadającą w bieżącym kwartale.

Year([DataSprzedaży]) = Year(Now()) And DatePart("q";Date()) = DatePart("q";Now())

Zwraca rekordy transakcji z bieżącego kwartału. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z pierwszego kwartału 2006.

Rekordy, które zawierają datę przypadającą w zeszłym kwartale.

Year([DataSprzedaży])*4+DatePart("q";[DataSprzedaży]) = Year(Date())*4+DatePart("q";Date())- 1

Zwraca rekordy z zeszłego kwartału. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z ostatniego kwartału 2005.

Rekordy, które zawierają datę przypadającą w przyszłym kwartale.

Year([DataSprzedaży])*4+DatePart("q";[DataSprzedaży]) = Year(Date())*4+DatePart("q";Date())+1

Zwraca rekordy z przyszłego kwartału. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z drugiego kwartału 2006.

Rekordy, które zawierają datę przypadającą w bieżącym roku.

Year([DataSprzedaży]) = Year(Date())

Zwraca rekordy z bieżącego roku. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z roku 2006.

Rekordy, które zawierają datę przypadającą w zeszłym roku.

Year([DataSprzedaży]) = Year(Date()) - 1

Zwraca rekordy transakcji, które miały miejsce w zeszłym roku. Jeśli dzisiejsza datą jest 2006-02-02, zostaną wyświetlone rekordy z roku 2005.

Rekordy, które zawierają datę przypadającą w przyszłym roku.

Year([DataSprzedaży]) = Year(Date()) + 1

Zwraca rekordy transakcji, które zawierają datę przypadającą w przyszłym roku. Jeśli dzisiejsza datą jest 2006-02-02, zostaną wyświetlone rekordy z roku 2007.

Rekordy, które zawierają datę należącą do zakresu od 1 stycznia do dnia dzisiejszego (rekordy od początku roku).

Year([DataSprzedaży]) = Year(Date()) and Month([DataSprzedaży]) <= Month(Date()) and Day([DataSprzedaży]) <= Day (Date())

Zwraca rekordy transakcji, których daty należą do zakresu od 1 stycznia bieżącego roku do dnia dzisiejszego. Jeśli dzisiejszą datą jest 2006-02-02, zostaną wyświetlone rekordy z okresu od 1 stycznia 2006 do 2 lutego 2006.

Elementy, które zawierają minioną datę.

< Date()

Zwraca rekordy transakcji, które miały miejsce przed dniem dzisiejszym.

Rekordy, które zawierają przyszłą datę.

> Date()

Zwraca rekordy transakcji, które będą miały miejsce po dniu dzisiejszym.

Elementy zawierające wartość null (lub nie zawierają żadnej wartości).

Is Null

Zwraca rekordy, w których brakuje daty transakcji.

Elementy zawierające wartości inne niż null.

Is Not Null

Zwraca rekordy, w których data transakcji jest podana.


Przydatne pliki: 


 plik bazy "lektury" oraz pytania Pobierz_lektury
plik bazy danych access:  baza danych do ćwiczeń



Ćwiczenia

zadania do bazy ćwiczeniowej"

TDane - ćwiczenie 1.
Pokaż wszystkie transakcje sprzedawcy o nazwisku Buchanan. Transakcja to jeden rekord bazy danych.
Odpowiedź: 117 pozycji.

TDane - ćwiczenie 2.
Pokaż wszystkie transakcje sprzedawcy o nazwisku Buchanan dokonane z firmami pochodzącymi z USA.
Odpowiedź: 19 pozycji.

TDane - ćwiczenie 3.
Pokaż wszystkie transakcje sprzedawcy o nazwisku Buchanan dokonane z firmami pochodzącymi z USA dla kategorii produktu - Nabiał.
Odpowiedź: 5 pozycji.

TDane - ćwiczenie 4.
Pokaż wszystkie transakcje sprzedawcy o nazwisku Buchanan lub Peacock dokonane z firmami pochodzącymi z USA dla kategorii produktu - Nabiał.

Odpowiedź: 14 pozycji.

TDane - ćwiczenie 5.
Pokaż wszystkie transakcje, dla których rabat jest większy niż 0,20.
Odpowiedź: 154 pozycji.

TDane - ćwiczenie 6.
Pokaż wszystkie transakcje zawarte pomiędzy 98-04-01 i 98-04-30 (czyli w kwietniu 1998 r.).
Odpowiedź: 180 pozycji.

TDane - ćwiczenie 7.
Pokaż wszystkie transakcje zawarte pomiędzy 98-04-01 i 98-04-30 (czyli w kwietniu 1998
r.) oraz pomiędzy 98-02-01 i 98-02-28, czyli w lutym 1998 r.
Odpowiedź: 302 pozycji.

TDane - ćwiczenie 8.
Pokaż bez powtórzeń nazwiska sprzedawców.
Odpowiedź:
NAZWISKO
Buchanan
Callahan Fuller
Davolio King
Dodsworth Leverling
Peacock
Suyama

TDane - ćwiczenie 9.

Pokaż bez powtórzeń nazwiska sprzedawców realizujących zamówienia w dniach 29 lub 31
dowolnego miesiąca.
Odpowiedź:
NAZWISKO
Buchanan
Callahan Fuller
Davolio King
Dodsworth Leverling
Peacock

TDane - ćwiczenie 10.
Pokaż bez powtórzeń nazwy kategorii.
Odpowiedź:

NAZWAKATEG
Bakalie
Mięso/Drób Produkty zbożowe
Nabiał Przyprawy
Napoje Ryby
Słodycze

TDane - ćwiczenie 11.
Podaj bez powtórzeń lata, w których zamawiano towary (bez zliczeń).
Odpowiedź:
Rok
1996
1997
1998

TDane - ćwiczenie 12.
Pokaż bez powtórzeń firmy, które zawierały transakcje w roku 1998.
Odpowiedź: 81 firm.

TDane - ćwiczenie 13.
Pokaż nazwiska sprzedawców oraz firmy przez nich obsługiwane (firmy - bez powtórzeń).
Odpowiedź: 463 pozycje.

TDane - ćwiczenie 14.
Policz wszelkie transakcje sprzedaży w NAZWAKATEG Nabiał. Transakcja to jeden
rekord bazy danych.
Odpowiedź:
NAZWAKATEG PoliczOfNAZWAKATEG
Nabiał 366

TDane - ćwiczenie 15.
Policz ilość transakcji działu Napoje dla zamówień jednorazowych w ilościach większych niż
50 i mniejszych niż 100. Transakcja to jeden rekord w bazie danych.
Odpowiedź:

NAZWAKATEG PoliczOfNAZWAPRODU ILOŚĆ
Napoje 1 54
Napoje 10 60
Napoje 1 70
Napoje 4 80
Napoje 2 90

TDane - ćwiczenie 16.
Policz ilość transakcji działu Napoje dla napojów bezalkoholowych.
Odpowiedź: ??????.
TDane - ćwiczenie 17.
Policz wszelkie transakcje w dziale Słodycze dla krajów: Meksyk, USA i Kanada.
Odpowiedź:

KRAJ PoliczOfNAZWAFIRMY
Kanada 15
Meksyk 7
USA 62

TDane - ćwiczenie 18.
Oblicz wartość każdej transakcji z uwzględnieniem rabatu.
Odpowiedź:
IDZAMÓWIEN CENAJEDNOS ILOŚĆ RABAT Wyr1
10 248 14,00 zł 12 0 168,00 zł
10 248 34,80 zł 5 0 174,00 zł
10 248 9,80 zł 10 0 98,00 zł
10 249 18,60 zł 9 0 167,40 zł
10 249 42,40 zł 40 0 1 696,00 zł
10 250 16,80 zł 15 0,15 214,20 zł
i.t.d. ...

TDane - ćwiczenie 19.
Oblicz wartość każdego IDZAMÓWIEN z uwzględnieniem rabatu.
Odpowiedź:
IDZAMÓWIEN Wyr1
10 248 440,00 zł
10 249 1 863,40 zł
10 250 1 552,60 zł
10 251 654,06 zł
i.t.d. ...

TDane - ćwiczenie 20.
Oblicz wartość IDZAMÓWIEN nr 10 300 do 10 303 - z uwzględnieniem rabatu oraz ilość
artykułów w jednym zamówieniu.
Odpowiedź:

IDZAMÓWIEN PoliczOfCENAJEDNOS Wartość
10 300 2 608,00 zł
10 301 2 755,00 zł
10 302 3 2 708,80 zł
10 303 3 1 117,80 zł

TDane - ćwiczenie 21.
Oblicz wartość IDZAMÓWIEN nr 10 300 do 10 303, ilość artykułów w jednym
zamówieniu, ilość sztuk zamówionego towaru oraz wartość średnią, maksymalną i minimalną
transakcji - z uwzględnieniem rabatu.
Odpowiedź:
IDZAMÓWIEN

Ilość artykułów Ilość szt.

Suma Średnia Max Min
10 300 2 50 608,00 zł 304,00 zł 408,00 zł 200,00
10 301 2 30 755,00 zł 377,50 zł 608,00 zł 147,00

10 302 3 80 2 708,80

zł 902,93 zł 1 248,00
441,60

10 303 3 85 1 117,80

zł 372,60 zł 529,20 zł 135,00

TDane - ćwiczenie 22.
Oblicz wartość rabatu dla IDZAMÓWIEN nr 10 300 do 10 303.
Odpowiedź:
IDZAMÓWIEN Wyr1
10 300 0 zł
10 301 0 zł
10 302 0 zł
10 303 124,20 zł

TDane - ćwiczenie 23.

Przygotuj fakturę (ilość, cena jednostkowa, rabat, wartość brutto - szczegóły oraz Brutto,
VAT i Netto dla całego zamówienia) dla IDZAMÓWIEN nr 10 250. Sortuj rosnąco według
wartości transakcji.
Odpowiedź:

IDZAMÓWIEN: 10 250 NAZWAFIRMY: Hanari Carnes

NAZWAPRODU ILOŚĆ CENAJEDNOS RABAT Wartość (z rabatem)
Jack's New England 10 7,70 zł 0 77,00 zł
Louisiana Fiery Hot 15 16,80 zł 0,15 214,20 zł
Manjimup Dried 35 42,40 zł 0,15 1 261,40 zł
Brutto: 1 552,60 zł
VAT 22 %: 341,57 zł
Netto: 1 211,03 zł

TDane - ćwiczenie 24.
Oblicz wartość transakcji zawartych przez poszczególnych sprzedawców.
Odpowiedź:
NAZWISKO IMIĘ Suma
Buchanan Steven 68 792,28 zł
Callahan Laura 126 862,28 zł
Davolio Nancy 192 107,61 zł
i.t.d. ..
Suyama Michael 73 913,13 zł

TDane - ćwiczenie 25.
Oblicz dla pola Personel (imiona i nazwiska sprzedawców przedzielone spacją) wartość
zawartych przez nich transakcji. Sortuj alfabetycznie według nazwisk, nie imion.
Odpowiedź:

Personel Suma
Steven Buchanan 68 792,28 zł
Laura Callahan 126 862,28 zł
Nancy Davolio 192 107,61 zł
i.t.d. ..

Michael Suyama 73 913,13 zł