Wprowadzenie do SQL Użycie kwerend i SQL

advertisement
Wprowadzenie do SQL
Język SQL w programie Access.
Kwerenda wybierająca w języku SQL.
Typy danych w języku SQL.
Wprowadzenie do SQL
Użycie kwerend i SQL
Funkcjonowanie współczesnych systemów relacyjnych baz danych oparte jest głównie
na języku SQL (Structured Query Language, strukturalny język zapytań). SQL jest
językiem czwartej generacji, który został w ciągu wielu lat opracowany przez grupę
badawcza IBM. Stał się międzynarodowym standardem dla języków baz danych
i występuje obecnie w produktach większości liczących się firm, zajmujących się
sprzedażą oprogramowania dla baz danych. Ponieważ SQL jest językiem
standaryzowanym, dostęp do danych jest możliwy przez wiele różnych platform
sprzętowych, w tym komputery osobiste, mikrokomputery i duże komputery. Inna
korzyść związana z SQL polega na tym, że takie oprogramowanie jak arkusze
kalkulacyjne czy procesory tekstów może importować dane z baz danych opartych na
SQL. Polecenia SQL maja postać zbliżoną do zdań w języku angielskim i są stosowane
w celu uzyskania dostępu do danych i sterowania operacjami w bazie danych.
Użytkownik mający małe doświadczenie w przetwarzaniu danych lub niemający go
wcale, może szybko nauczyć się podstawowych konstrukcji SQL, a ekspert od
przetwarzania danych może znaleźć w tym języku pełny zestaw potrzebnych mu
narzędzi. Zatem jest to język, którego używają zarówno zwykli użytkownicy, jak
i fachowcy od przetwarzania danych.
•
SQL DML (ang. Data Manipulation Language – „język manipulacji danymi”),
Strona
Użycie SQL, zgodnie z jego nazwą, polega na zadawaniu zapytań do bazy danych. Zapytania
można zaliczyć do jednego z czterech głównych podzbiorów:
1
SQL jest językiem strukturalnym, zdefiniowanym za pomocą reguł składniowych.
Występują w nim trzy rodzaje poleceń. Pierwszy to polecenia języka definiowania
danych, które umożliwiają tworzenie obiektów bazy danych, takie jak tabela
i perspektywy. Drugi rodzaj to polecenia języka operowania danymi, które są używane
do wydobywania informacji z bazy danych, usuwania informacji z bazy danych i
dodawania ich do niej. Trzeci rodzaj to polecenia języka administrowania danymi, które
służą do przyznawania i odwoływania uprawnienia dostępu do bazy danych.
Użytkownik może korzystać z poleceń SQL w sposób interakcyjny bądź za pomocą
takiego interfejsu jak zapytanie przez przykład ( QBE ).
•
•
•
SQL DDL (ang. Data Definition Language – „język definicji danych”),
SQL DCL (ang. Data Control Language – „język kontroli nad danymi”).
SQL DQL (ang. Data Query Language – „język definiowania zapytań”).
Instrukcje SQL w obrębie zapytań tradycyjnie zapisywane są wielkimi literami, jednak nie
jest to wymóg. Każde zapytanie w SQL-u musi kończyć się znakiem średnika (;).
Dodatkowo, niektóre programy do łączenia się z silnikiem bazy danych (np. psql w
przypadku PostgreSQL) używają swoich własnych instrukcji, spoza standardu SQL, które
służą np. do połączenia się z bazą, wyświetlenia dokumentacji itp.
DML
DML (Data Manipulation Language) służy do wykonywania operacji na danych – do ich
umieszczania w bazie, kasowania, przeglądania oraz dokonywania zmian. Najważniejsze
polecenia z tego zbioru to:
•
•
•
INSERT – umieszczenie danych w bazie,
UPDATE – zmiana danych,
DELETE – usunięcie danych z bazy.
Dane tekstowe muszą być zawsze ujęte w znaki pojedynczego cudzysłowu (').
DDL
Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są
przechowywane – czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze
polecenia tej grupy to:
•
•
•
CREATE (np. CREATE TABLE, CREATE DATABASE, ...) – utworzenie struktury (bazy, tabeli,
indeksu itp.),
DROP (np. DROP TABLE, DROP DATABASE, ...) – usunięcie struktury,
ALTER (np. ALTER TABLE ADD COLUMN ...) – zmiana struktury (dodanie kolumny do tabeli,
zmiana typu danych w kolumnie tabeli).
DCL
•
•
GRANT - służące do nadawania uprawnień do pojedynczych obiektów lub globalnie
konkretnemu użytkownikowi (np. GRANT ALL PRIVILEGES ON EMPLOYEE TO PIOTR WITH
GRANT OPTION – przyznanie wszystkich praw do tabeli EMPLOYEE użytkownikowi PIOTR z
opcją pozwalającą mu nadawać prawa do tej tabeli).
REVOKE – służące do odbierania wskazanych uprawnień konkretnemu użytkownikowi (np.
REVOKE ALL PRIVILEGES ON EMPLOYEE FROM PIOTR - odebranie użytkownikowi wszystkich
praw do tabeli EMPLOYEE).
DENY.
Strona
•
2
DCL (Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów
bazodanowych. Najważniejsze polecenia w tej grupie to:
DQL
DQL (Data Query Language) to język formułowania zapytań do bazy danych. W zakres tego
języka wchodzi jedno polecenie - SELECT. Często SELECT traktuje się jako część języka
DML, ale to podejście nie wydaje się właściwe, ponieważ DML z definicji służy do
manipulowania danymi - ich tworzenia, usuwania i uaktualniania. Na pograniczu obu
języków znajduje się polecenie SELECT INTO, które dodatkowo modyfikuje (przepisuje,
tworzy) dane.
Język zapytań SQL.1 Dzięki kwerendom (zapytaniom) w Access możemy uzyskać
określone informacje z bazy danych. Język SQL jest najpopularniejszym językiem
zapytań w różnych systemach baz danych. Możemy za pomocą komend SQL tworzyć
kwerendy i wydawać polecenia w bazach danych.
Zasady pisania poleceń.
•
•
•
•
•
•
•
•
•
•
1
http://www.naukainformatyki.pl/index.php?option=com_content&view=category&id=44:access&Itemid=75&l
ayout=default
3
•
nazwy poleceń piszemy dużymi literami (np. SELECT). Można pisać też małymi
gdy odwołujemy się do pól jednej tabeli używamy nazwy tego pola (Nazwisko).
Gdy odwołujemy się do pól kilku tabel dodajemy też nazwę tabeli z kropką
(Liceum.Nazwisko).
jeśli nazwy pól są wielowyrazowe, to przy odwołaniach ujmujemy je w nawiasy
kwadratowe ([Data zadania], Zadania.[Data zadania] lub [Tabela zadań].[Data
zadania] )
przy odwołaniach do kilku pól oddzielamy je od siebie przecinkiem (nazwisko,
Imie, DataUrodzenia
zapytania można pisać w jednym wierszu lub w wielu wierszach
podczas wpisywania kryteriów liczby wpisujemy normalnie (2 lub 3,14) teksty w
cudzysłowach („Krosno”) daty pomiędzy znakiem # (#2004-09-01#)
operatory arytmetyczne +, -, *, /
operatory porównań =, <, <=, <>, >, >=
operatory logiczne AND, OR, NOT
argumenty poleceń można podawać w sposób opcjonalny w nawiasach
kwadratowych – przed wykonaniem polecenia pojawia się pytanie np. [Podaj
parametr]
można stosować funkcje agregujące AVG() – średnia arytmetyczna, COUNT() –
liczba rekordów, SUM() – suma wartości zawartych w polu, MAX() i MIN() –
największa i najmniejsza wartość w polu
instrukcja warunkowa w postaci IIF (warunek, JeśliPrawda, JeśliFałsz)
na końcu polecenia SQL wpisujemy średnik
Strona
•
•
Niektóre polecenia z języka SQL
Wyszukiwanie danych przy użyciu instrukcji SELECT
Polecenie SELECT umożliwa wyświetlenie wierszy i kolumn z jednej lub kilku tabel.
W połączeniu z funkcjami może wykonywać operacje na danych tj.: obliczenia,
formatowanie wyników i tworzenie podsumowania. Składnia:
SELECT kolumna1,kolumna2 FROM tabela;
Przykład:
SELECT * FROM departments;
SELECT first_name, last_name FROM employees;
Po poleceniu SELECT podajemy kolumny które chcemy wyświetlić.
W przypadku * wybierane są wszystkie kolumny z tabeli. Po klauzuli FROM
wpisujemy nazwę tabeli z jakiej wypisać chcemy dane.
Słowo kluczowe DISTINCT
Słowo kluczowe DISTINCT służy do wyświetlenia wartości bez ich powtórzeń.
Stosowane jest w przypadku gdy interesuje nas jakie wartości występują w kolumnie
a nie ich częstość występowania.
Składnia:
SELECT [DISTINCT] kolumna1, kolumna2 FROM tabela;
Przykład:
SELECT department_id FROM employees;
Przykład wypisze numery departamentów przypisane do pracowników, wyświetlając
powtarzające się numery działów. Aby wypisać pojedyncze numery departamentów
skorzystamy z nowo poznanego słowa DISTINCT.
SELECT DISTINCT department_id FROM employees;
Użycie słowa DISTINCT spowoduje usunięcie zdublowanych numerów.
Aliasy kolumn
W przypadku wybrania kolumny o mało intuicyjnej lub trudnej nazwie możemy
wypisać alias dla kolumny z użyciem słowa AS.
Składnia:
SELECT kolumna1, kolumna2 [AS alias] FROM tabela;
Przykład:
SELECT department_name AS departament FROM departments;
SELECT department_name AS "Nazwa Departamentu" FROM
departments;
Strona
Wynik zapytań możemy filtorwać poprzez spełnienie określonych warunków
umieszczonych za klauzulą WHERE. Warunki mogą być połączone za pomocą
opertorów.
Składnia:
SELECT kolumna1, kolumna2 FROM tabela [WHERE warunek1];
Przykład:
SELECT last_name, salary FROM employees WHERE salary > 10000;
SELECT last_name, salary FROM employees WHERE salary > 10000
AND
4
Filtrowanie wierszy
department_id = 80;
SELECT last_name, salary FROM employees WHERE salary > 10000
AND department_id = 80 order by salary desc;
W przykładzie pierwszym wypisano nazwiska i płace praconików zarabiających
powyżej 10 tys. W drugim przykładzie przy użyciu słowa AND dodano kolejny
wymagany warunek – wybierano pracowników pracujących w dziale numer 80.
Trzeci przykład dodatkowo sortuje wypisane wyniki od największej pensji do
najmniejszej.
Sortowanie
Wyniki zapytań sortować stosujemy przez klauzule ORDER BY umieszoną zawsze
na końcu zapytania. Chcąc odwrócić wynik sortowania stosujemy dodatkowe słowo
DESC.
Składnia:
SELECT kolumna1, kolumna2
FROM tabla1 ORDER BY kolumna1 [DESC|ASC];
Przykład:
SELECT last_name, salary FROM employees ORDER BY salary DESC;
SELECT last_name, salary FROM employees ORDER BY last_name,
salary;
Przykład pierwszy wypisze pracowników i ich pensje posortowane od największej do
najmniejszej. Wynik zapytania drugiego wyświetli nazwiska pracowników i ich pensje
posortowane wg nazwisk i pensji. Oznacza to że podczas sortowania wg nazwisk
trafią się pracownicy o takim samym nazwisku zostaną ułożeni dodatkowo wg
wysokości pensji.
Posługiwanie się funkcjami numerycznymi –wybrane funkcje
Funkcja ROUND
Funkcja zaokrągla wartość x do y miejsc po przecinku. Domyślna wartość y to 0.
Składnia:
SELECT ROUND (x,[,y]) FROM tabela1;
Przykład:
SELECT ROUND(3.1415,2) FROM DUAL;
Zaokrągla liczbę 3.1415 do dwóch miejsc po przecinku. Wynik to 3.14
Funkcja SQRT
Strona
Podnosi wartość x do potęgi y.
Składnia:
SELECT POWER (x,y) FROM tabela1;
Przykład:
SELECT POWER(2,4) FROM DUAL;
Podniesienie wartości 2 do potęgi czwartej. Wynik to 16
5
Funkcja POWER
Pierwiastek kwadratowy z wartości x.
Składnia:
SELECT SQRT(x) FROM tabela1;
Przykład:
SELECT SQRT(16) FROM DUAL;
Funkcja ABS
Wartość bezwzględna wartości x.
Składnia:
SELECT ABS(x) FROM tabela1;
Przykład:
SELECT ABS(-12) FROM DUAL;
Zapytanie zwróci wartość bezwzględną argumentu, czyli 12.
Funkcja MOD
Reszta z dzielenia x przez y. Jeśli wartość y jest równa 0 funkcja zwróci x.
Składnia:
SELECT MOD(x,y) FROM tabela1;
Przykład:
SELECT MOD(5,3) FROM DUAL;
Zapytanie zwróci reszte z dzielenia 5 przez 3 – w wyniku otrzymamy wartość 2.
Omówienie zasad związanych z grupowaniem danych
Strona
6
Grupowanie polega na podzieleniu zbioru wierszy na grupy, które mają pewną
wspólną cechę. Grupowania wykonujemy w celu użycia funkcji agregujących nie w
stosunku do całego zbioru wierszy, ale do poszczególnych grup wierszy. Do
zgrupowania używamy nową klauzulę GROUP BY wraz z wyborem kolumny lub
wyrażenia, według którego mają być pogrupowane wiersze. Na liście klauzuli
SELECT mogą się znaleźć tylko kolumny i wyrażenia, według których zapytanie jest
grupowane, oraz wywołania funkcji agregujących.
Składnia
SELECT kolumna1, kolumna2 FROM tabela1 GROUP BY(kolumna1);
Przedstawienie funkcji agregujących
MAX- Funkcja służąca do wybrania maksymalnej wartości z grupy wybranych wierszy.
MIN- Funkcja służąca do wybrania minimalnej wartości z grupy wybranych wierszy.
AVG- Funkcja służąca do wybrania średniej wartości z grupy wybranych wierszy.
SUM- Funkcja służąca do wybrania sumy wartości z grupy wybranych wierszy.
COUNT- Funkcja zliczająca liczbę wybranych wierszy z kolumny podanej w argumencie.
Np.
Składnia:
SELECT y, MAX(x) FROM tabela1 GROUP BY y;
Przykład:
SELECT manager_id, MAX(salary) FROM employees group by
manager_id;
Sortowanie i filtrowanie pogrupowanych danych w zestawie wyników
Przed dokonaniem grupowania można zastosować filtrowanie z użyciem klauzuli
WHERE,która wybierze tylko część wierszy z tabeli. Klauzula WHERE wykonuje się
przed grupowaniem, więc nie można w tej klauzuli sprecyzować warunku
zawierającego funkcje grupowe. Aby taki warunek zawrzeć w zapytaniu należy
zastosować dodatkową klauzulę HAVING wraz z odpowiednim warunkiem. Jest ona
odpowiednikiem klauzuli WHERE, tylko, że wykonuje się ona po procesie
grupowania.
Składnia
SELECT kolumna1, kolumna2 FROM tabela1
GROUP BY(kolumna1) HAVING warunek1;
Przykład:
SELECT manager_id, MAX(salary) FROM employees
GROUP BY manager_id HAVING MAX(salary)> 10000;
Przykładowe kwerendy będą oparte o tabelę STUDENCI.
Proste kwerendy wybierające
SELECT * FROM Studenci;
Strona
Z tabeli Studenci wybieramy pola nazwisko i Imie
7
SELECT Nazwisko, Imie FROM Studenci;
Z tabeli Studenci wybieramy wszystkie pola
SELECT * FROM Studenci ORDER BY Nazwisko;
Z tabeli Studenci wybieramy wszystkie pola i sortujemy według pola Nazwisko
SELECT * FROM Studenci ORDER BY Nazwisko DESC;
Sortujemy według pola Nazwisko według odwrotnej kolejności
SELECT DISTINCT Imie FROM Studenci;
Usuwanie duplikatów. Tabela z imionami. Każde imię zostanie wypisane tylko jeden raz
Zastosowanie kryteriów wybierania
SELECT * FROM Studenci WHERE Miasto=”Krosno”;
wyświetlamy wszystkie pola tabeli ale rekordy dla których miasto jest równe Krosno
SELECT * FROM Studenci WHERE Miasto<>”Krosno” AND Imie=”Anna”;
wyświetlamy wszystkie pola tabeli, a rekordy osób które nie mieszkają w Krośnie i mają
na imię Anna
SELECT * FROM Studenci WHERE Ocena BETWEEN 3,5 AND 4,5;
rekordy osób dla ocen z przedziału 3,5 i 4,5
SELECT * FROM Studenci WHERE Miasto LIKE “K*”;
rekordy dla osób mieszkających w mieście zaczynającym się na literę K
* - zastępuje dowolną liczbę znaków
? – zastępuje pojedynczy znak
UWAGA! LIKE można zastąpić konstrukcją: Miasto >=”Ka” And Miasto <=”Kz”
SELECT * FROM Studenci WHERE Miasto IN (”Krosno”, ”Kielce”, „Płock”);
osoby mieszkające w jednym z trzech wybranych miast
Tworzymy nowe pole
Strona
Wyświetlamy dodatkową kolumnę o nazwie podatek, która wylicza 22% z pola dochód
8
SELECT Nazwisko, Imie, [Dochod]*0,22 AS Podatek FROM Studenci;
Instrukcja warunkowa
SELECT NAZWISKO, IMIE, IIF([olimpiada]="T","olimpijczyk";””) AS płeć FROM
studenci;
Jeśli jest olimpijczykiem, to w nowym polu pojawia się napis OLIMPIJCZYK
Wybieranie danych z kilku tabel
SELECT Kontakty.Nazwisko, Kontakty.Imie, Zadania.Data
FROM Kontakty, Zadania
WHERE Kontakty.IDOsoby=Zadania.IDOsoby;
Połączenie dwóch tabel za pomocą klucza IDOsoby
Funkcje agregujące
SELECT Count(*) AS [Nie zdali] FROM Studenci WHERE Zdal=”nie”;
Oblicza liczbę studentów, którzy nie zdali egzaminu. Wynik w nowym polu o nazwie Nie
zdali
SELECT Min(dochod) AS [mini], Max(dochod) as [maks] FROM Studenci WHERE
zdal="nie";
Tworzy dwa pola w których zapisana jest informacja o minimalnych i maksymalnych
dochodach studentów, którzy nie zdali
Grupowanie rekordów
SELECT Miasto, Count(Miasto) AS [Liczba osób] FROM Studenci GROUP BY Miasto;
tabela zawiera dwa pola Miasto i Liczba osób, w której podana jest informacja o liczbie
osób mieszkających w danej miejscowości
Modyfikowanie danych
UPDATE Studenci SET Zdal=”tak” WHERE Imie=”Anna”;
Jeśli osoba w tabeli Studenci ma na imię Anna pole Zdal będzie równa TAK – wszystkie
Anie zdały egzamin
Strona
Przed wykonaniem polecenia pojawia się pytanie o imię, które można wpisać z
klawiatury
9
UPDATE Studenci SET Zdal=”tak” WHERE Imie=[Podaj imię osoby];
DELETE FROM Studenci WHERE Imie=”Anna”;
Usunięte zostaną wszystkie rekordy w których pole imię jest równe Anna
Tworzenie nowej tabeli
SELECT Nazwisko, Imie, Miasto INTO Persona FROM Studenci WHERE Zdal="nie";
tworzymy nową tabelę o nazwie PERSON i wklejamy do niej pola NAZWISKO, IMIE i
MIASTO dla studentów, którzy nie zdali egzaminu
warunkowe
SELECT NAZWISKO, IMIE, IIF([olimpiada]="T","olimpijczyk") AS OLIMP FROM
studenci;
w nowym polu PŁEĆ pojawia się napis ”olimpijczyk” jeśli osoba startowała w
olimpiadach
SELECT NAZWISKO, IMIE, IIF([plec]="K","kobieta","mężczyzna") AS PŁEĆ FROM
studenci;
w nowym polu płeć pojawia się napis kobieta lub mężczyzna w zależności od zawartości
pola PLEC
SELECT NAZWISKO, IMIE, IIF(left([szkola],1)="L","liceum","reszta") AS SZKÓŁKA
FROM studenci;
w nowym polu pojawia się napis liceum albo reszta w zależności od tego dokąd
uczęszczał student
SELECT NAZWISKO, IMIE, IIF([zam]="W",[punkty]+2,[punkty]) AS PUNKTACJA
FROM studenci WHERE [szkola]="LO";
jeśli osoba mieszka na wsi to w nowym polu powiększamy punkty o 2, jeśli jest z miasta
to zostawiamy punkty. wyświetlamy osoby które kończyły ogólniak
SELECT NAZWISKO, IMIE, IIF(left([szkola],1)="L","liceum",
IIF(left([szkola],1)="T","technikum", "zawodowa")) AS SZKÓŁKA FROM studenci;
wyświetla w nowym polu napis liceum, technikum, zawodowa w zależności od
ukończonej szkoły
Strona
SELECT Count(*) AS [Nie zdali] FROM Studenci WHERE Zdal="nie";
10
agregujące
liczba studentów, którzy nie zdali
SELECT Min(dochod) AS [mini], Max(dochod) as [maks] FROM Studenci WHERE
zdal="nie";
w polach minimalne i maksymalne dochody
SELECT count(*) AS [ILE_KOBIET] FROM studenci WHERE [plec]="K";
w nowym polu wyświetl liczbę kobiet w tabeli
SELECT count(*) AS [ILE_IMION] FROM studenci WHERE [imie]=[Podaj imię
kobiety];
wyświetl zapytanie o imię osoby i wyświetl liczbę osób o tym imieniu
SELECT sum([punkty]) AS [suma punktów] FROM studenci WHERE [imie]=[Podaj
imię kobiety];
wyświetl sumę punktów, które zdobyły kobiety o podanym w zapytaniu imieniu
SELECT avg([dochod]) AS [dochody] FROM studenci WHERE
YEAR([urodzony])=1974;
Wyświetl średnią z dochodów dla osób urodzonych w roku 1974
SELECT count(*) AS [imiona] FROM studenci WHERE len([imie])=5;
Wyświetl ilość imion dokładnie z pięcioma literami
Info przydatne do kwerend
Operatory-wykorzystywane do tworzenia warunków i wyrażeń pól obliczeniowych
Konkretne przykłady z zastosowaniem poniższych operatorów i funkcji znajdują się na
kolejnych slajdach.(duże i małe litery nie są rozróżnialne przez program Access, w tym
opracowaniu dla lepszej czytelności zapisu, nazwy funkcji i operatorów pisane są z litery dużej)
Najczęściej używane operatory:
•
Arytmetyczne * mnożenie, / dzielenie , ^ potęgowanie , np. 4^2=16 (jako 42) , +
dodawanie,
Porównania = równe, <> różne, > większe, >= większe bądź równe , < mniejsze, <=
mniejsze
bądź równe,
Strona
•
11
- odejmowanie , Mod - reszta z dzielenia np. 9 Mod 2 = 1
Between ... and ... ( pomiędzy jednym a drugim) , np. Between 1 And 5 określa zbiór
liczb [1; 2; 3; 4; 5]
Is Null - porównujący zawartość pola z wartością Null (sprawdza czy pole jest puste )
•
Logiczne And -koniunkcja (i), Or-alternatywa (lub) , Not- negacja (nie)
•
Operatory pracujące na łańcuchach tekstowych Like – tworzenie wzorca.,
&
konkatenacja czyli łączenie łańcuchów.
Funkcje
wbudowane dostępne z menu kontekstowego (uaktywnianego prawym
opcją Buduj, lub do wpisania ręcznego
•
przyciskiem )
Daty i czasu Date() - wynikiem jest bieżąca data,
Year(Date()) wynikiem jest bieżący rok ,
lub Year(2003-01-01) wynik 2003
•
•
**Arytmetyczne Abs(liczba) - wynikiem jest wartość absolutna ( bezwzględna )
liczby
**Tekstowe
Len(słowa)=5
Left(komputer;2)= ‘ko”
•
itp..
zwraca długość słowa wyrażoną ilością znaków tego
słowa
zwraca podaną ilość znaków tekstu od lewej strony
Logiczne iif (warunek ; wyrażenie jeśli prawdziwy warunek; wyrażenie jeśli fałszywy
warunek)
Funkcji tej używamy jęśli mamy do wyboru dwa różne działania, w zależności od prawdziwości
warunku
•
**Agregujące Min(..), Max(..), Średnia(..), Suma(..), Pierwszy(..), Ostatni(..),
Policz(..)
np. Min([Cena]) wybierająca najniższą wartość z pola Cena
Funkcje agregujące stosowane są między innymi w zapytaniach podsumowujących,
Policz([Telefon])– zliczająca ilość wierszy w tabeli źródłowej z wpisanym telefonem
Kwerendy obliczeniowe
Różne_podatki : iif ([Czy lektura]=prawda ; [Cena ]*0,07 ; [Cena]*0,22)
Oblicza podatek 7% z ceny dla lektur, a 22% dla książek które nie są lekturami
Strona
wiek : Year(Date()) - Year([Data urodzenia]) - oblicza wiek osoby, gdzie [Data urodzenia]
jest nazwą pola z tabeli czytelnicy
12
Przykłady:
Imię i naz : [Imie]&” ”&[Nazwisko] Tworzy nowe pole z imieniem i nazwiskiem oddzielonymi
spacją
Typy danych SQL
Typy danych języka Structured Query Language (SQL) w aparacie bazy danych programu
Microsoft Access obejmują 13 podstawowych typów danych definiowanych przez aparat
bazy danych Microsoft Access oraz kilka prawidłowych synonimów tych typów.
Rozmiar
BINARY
1 bajt na
znak
BIT
1 bajt
TINYINT
1 bajt
MONEY
8 bajtów
DATETIME
(zobacz DOUBLE)
8 bajtów
UNIQUEIDENTIFIER 128 bitów
REAL
4 bajtów
FLOAT
8 bajtów
SMALLINT
2 bajtów
INTEGER
4 bajtów
DECIMAL
17 bajtów
TEXT
2 bajty na
Opis
W polu tego typu może być przechowywany dowolny
rodzaj danych. Nie jest dokonywana żadna translacja
danych (np. na tekst). Sposób prezentacji danych zależy
od sposobu ich umieszczenia w polu.
Wartości Tak i Nie oraz pola zawierające tylko jedną z
dwóch wartości.
Liczba całkowita z przedziału od 0 do 255.
Liczba całkowita z przedziału od
– 922 337 203 685 477,5808 do
922 337 203 685 477,5807.
Wartość daty lub godziny z przedziału lat od 100 do
9999.
Unikatowy numer identyfikacyjny wykorzystywany
przy zdalnym wywoływaniu procedur.
Wartość zmiennoprzecinkowa o pojedynczej precyzji
mieszcząca się w przedziale od – 3,402823E38 do –
1,401298E-45 dla wartości ujemnych, od 1,401298E-45
do 3,402823E38 dla wartości dodatnich, oraz 0.
Wartość zmiennoprzecinkowa o podwójnej precyzji
należąca do zakresu od – 1,79769313486232E308 do –
4,94065645841247E-324 dla wartości ujemnych, od
4,94065645841247E-324 do 1,79769313486232E308
dla wartości dodatnich, oraz 0.
Liczba całkowita krótka z przedziału od –32 768 do
32 767.
Liczba całkowita długa z przedziału od –2 147 483 648
do 2 147 483 647.
Dokładny numeryczny typ danych, który obsługuje
wartości od 1028 – 1 do – 1028 – 1. Można określić
zarówno dokładność (1 – 28), jak i skalę (0 – ustalona
precyzja). Domyślna precyzja i skala wynoszą
odpowiednio 18 i 0.
Od zera do maksymalnie 2,14 gigabajta.
Strona
Typ danych
13
W tabeli poniżej zestawiono podstawowe typy danych.
CHARACTER
Opis
Od zera do maksymalnie 2,14 gigabajta. Stosowany do
obiektów OLE.
Od zera do 255 znaków.
14
IMAGE
Rozmiar
znak
(zobacz
Uwaga)
Zależnie od
wymagań
2 bajty na
znak
(zobacz
Uwaga)
Strona
Typ danych
Download
Random flashcards
123

2 Cards oauth2_google_0a87d737-559d-4799-9194-d76e8d2e5390

bvbzbx

2 Cards oauth2_google_e1804830-50f6-410f-8885-745c7a100970

66+6+6+

2 Cards basiek49

Pomiary elektr

2 Cards m.duchnowski

Create flashcards