Wprowadzenie do SQL Użycie kwerend i SQL



Podobne dokumenty
Przestrzenne bazy danych Podstawy języka SQL

Ref. 7 - Język SQL - polecenia DDL i DML

Systemy GIS Tworzenie zapytań w bazach danych

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do języka SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

SQL (ang. Structured Query Language)

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Relacyjne bazy danych. Podstawy SQL

Język SQL, zajęcia nr 1

P o d s t a w y j ę z y k a S Q L

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Projektowanie systemów baz danych

Autor: Joanna Karwowska

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Język SQL. Rozdział 2. Proste zapytania

Wprowadzenie do baz danych

8.9. Język SQL Kwerenda wybierająca w języku SQL

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Bazy danych. Polecenia SQL

Paweł Rajba

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Autor: Joanna Karwowska

Oracle11g: Wprowadzenie do SQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Dr Michał Tanaś(

Instrukcja CREATE TABLE

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy danych. Dr inż. Paweł Kasprowski

Wykład 5. SQL praca z tabelami 2

SQL - Structured Query Language. strukturalny język zapytań

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Bazy danych Access KWERENDY

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Komunikacja z bazą danych psql

Podstawowe zapytania SELECT (na jednej tabeli)

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Język SQL podstawy zapytań

SIECI KOMPUTEROWE I BAZY DANYCH

SQL Structured Query Language

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Kiedy i czy konieczne?

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Zapytania do bazy danych

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Bazy danych 7. SQL podstawy

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Komputerowe systemy zarządzania. Część I: relacyjna baza danych

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

ACESS- zadania z wykorzystaniem poleceń SQL

Wykład III. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Ćwiczenie zapytań języka bazy danych PostgreSQL

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Wykład 05 Bazy danych

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Kwerendy (zapytania) wybierające

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Bazy danych SQL Server 2005

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Współczesne systemy baz danych

Widok Connections po utworzeniu połączenia. Obszar roboczy

Zadania z SQLa (MS SQL Server)

Autor: Joanna Karwowska

Bazy danych Kwerendy wybierające (operacje logiczne, zapytania, pola obliczeniowe)

Współczesne systemy baz danych

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Język SQL, zajęcia nr 2

Wykład 4. SQL praca z tabelami 1

Lab.8: Podstawy języka SQL.

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Technologie informacyjne: Arkusz kalkulacyjny

SQL w praktyce. Miłej i owocnej nauki!!!

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

Baza danych Uczniowie.mdb

Bazy danych - wykład wstępny

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Konspekt zajęć dotyczących kwerend

QUERY język zapytań do tworzenia raportów w AS/400

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Autor: dr inż. Katarzyna Rudnik

Kurs. Podstawy MySQL

Transkrypt:

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 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 ). 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: SQL DML (ang. Data Manipulation Language język manipulacji danymi ), Strona1

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: DCL 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 (Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia w tej grupie to: 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. Strona2

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ń. 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 1 http://www.naukainformatyki.pl/index.php?option=com_content&view=category&id=44:access&itemid=75&l ayout=default Strona3

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. SELECT kolumna1,kolumna2 FROM tabela; 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. SELECT [DISTINCT] kolumna1, kolumna2 FROM tabela; 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. SELECT kolumna1, kolumna2 [AS alias] FROM tabela; SELECT department_name AS departament FROM departments; SELECT department_name AS "Nazwa Departamentu" FROM departments; Filtrowanie wierszy 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. SELECT kolumna1, kolumna2 FROM tabela [WHERE warunek1]; SELECT last_name, salary FROM employees WHERE salary > 10000; SELECT last_name, salary FROM employees WHERE salary > 10000 AND Strona4

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. SELECT kolumna1, kolumna2 FROM tabla1 ORDER BY kolumna1 [DESC ASC]; 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. SELECT ROUND (x,[,y]) FROM tabela1; SELECT ROUND(3.1415,2) FROM DUAL; Zaokrągla liczbę 3.1415 do dwóch miejsc po przecinku. Wynik to 3.14 Funkcja POWER Podnosi wartość x do potęgi y. SELECT POWER (x,y) FROM tabela1; SELECT POWER(2,4) FROM DUAL; Podniesienie wartości 2 do potęgi czwartej. Wynik to 16 Funkcja SQRT Strona5

Pierwiastek kwadratowy z wartości x. SELECT SQRT(x) FROM tabela1; SELECT SQRT(16) FROM DUAL; Funkcja ABS Wartość bezwzględna wartości x. SELECT ABS(x) FROM tabela1; 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. SELECT MOD(x,y) FROM tabela1; 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 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); Strona6

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. SELECT y, MAX(x) FROM tabela1 GROUP BY y; 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; 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 Nazwisko, Imie FROM Studenci; Z tabeli Studenci wybieramy pola nazwisko i Imie SELECT * FROM Studenci; Strona7

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 SELECT Nazwisko, Imie, [Dochod]*0,22 AS Podatek FROM Studenci; Wyświetlamy dodatkową kolumnę o nazwie podatek, która wylicza 22% z pola dochód Strona8

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 UPDATE Studenci SET Zdal= tak WHERE Imie=[Podaj imię osoby]; Przed wykonaniem polecenia pojawia się pytanie o imię, które można wpisać z klawiatury Strona9

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 agregujące SELECT Count(*) AS [Nie zdali] FROM Studenci WHERE Zdal="nie"; Strona10

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 4 2 ), + dodawanie, - odejmowanie, Mod - reszta z dzielenia np. 9 Mod 2 = 1 Porównania = równe, <> różne, > większe, >= większe bądź równe, < mniejsze, <= mniejsze bądź równe, Strona11

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., Funkcje & konkatenacja czyli łączenie łańcuchów. wbudowane dostępne z menu kontekstowego (uaktywnianego prawym przyciskiem ) opcją Buduj, lub do wpisania ręcznego Daty i czasu Date() - wynikiem jest bieżąca data, Year(Date()) wynikiem jest bieżący rok, lub Year(2003-01-01) wynik 2003 itp.. **Arytmetyczne Abs(liczba) - wynikiem jest wartość absolutna ( bezwzględna ) liczby **Tekstowe Len(słowa)=5 zwraca długość słowa wyrażoną ilością znaków tego słowa Left(komputer;2)= ko 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 Przykłady: wiek : Year(Date()) - Year([Data urodzenia]) - oblicza wiek osoby, gdzie [Data urodzenia] jest nazwą pola z tabeli czytelnicy 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 Strona12

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. W tabeli poniżej zestawiono podstawowe typy danych. Typ danych Rozmiar Opis BINARY BIT 1 bajt na znak 1 bajt 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. TINYINT 1 bajt Liczba całkowita z przedziału od 0 do 255. MONEY DATETIME (zobacz DOUBLE) 8 bajtów 8 bajtów UNIQUEIDENTIFIER 128 bitów REAL FLOAT SMALLINT INTEGER DECIMAL 4 bajtów 8 bajtów 2 bajtów 4 bajtów 17 bajtów 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. TEXT 2 bajty na Od zera do maksymalnie 2,14 gigabajta. Strona13

Typ danych Rozmiar Opis IMAGE CHARACTER znak (zobacz Uwaga) Zależnie od wymagań 2 bajty na znak (zobacz Uwaga) Od zera do maksymalnie 2,14 gigabajta. Stosowany do obiektów OLE. Od zera do 255 znaków. Strona14