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



Podobne dokumenty
Podstawowe zapytania SELECT (na jednej tabeli)

Zadania z SQLa (MS SQL Server)

Wprowadzenie do języka SQL

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska

Język SQL. Rozdział 2. Proste zapytania

Wykład 5. SQL praca z tabelami 2

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

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

Wprowadzenie do baz danych

SQL (ang. Structured Query Language)

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

Systemy GIS Tworzenie zapytań w bazach danych

Przestrzenne bazy danych Podstawy języka SQL

Relacyjne bazy danych. Podstawy SQL

Wykład 6. SQL praca z tabelami 3

SQL praca z tabelami 4. Wykład 7

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

Kwerendy (zapytania) wybierające

Relacyjne bazy danych. Podstawy SQL

PODZAPYTANIE (SUBSELECT)

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Bazy danych SQL Server 2005

Technologie baz danych

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

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

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Rozdział 1. Jak korzystać z ćwiczeń

3. Podzapytania, łączenie tabel i zapytań

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Optymalizacja poleceń SQL Metody dostępu do danych

Autor: Joanna Karwowska

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

Bazy danych. Polecenia SQL

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

Bazy danych 7. SQL podstawy

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Język SQL, zajęcia nr 1

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

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

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

Grupowanie i funkcje agregujące

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

Język SQL w Delphi. 1. Kwerendy Przygotowanie do ćwiczenia Komenda SELECT

Wykład 8. SQL praca z tabelami 5

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Zapytania do baz danych

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

SQL. Æwiczenia praktyczne

Laboratorium Bazy danych SQL 3 1

Kurs. Podstawy MySQL

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

NORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.

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

SQL w praktyce. Koncepcja bazy danych

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Laboratorium Bazy danych SQL 2

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

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

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

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

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

Podyplomowe Studia Systemy informatyczne w logistyce

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Podstawy języka SQL cz. 2

Struktura bazy danych

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

Podzapytania. Podzapytania nieskorelowane i skorelowane

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

Funkcje agregujące i ciąg dalszy SQL

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Tworzenie zapytań do Microsoft SQL Server

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

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

5.5. Wybieranie informacji z bazy

Lista zadań nr Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000.

Grupowanie danych klauzula GROUP BY

LAB 3 (część 1 Projektu)

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Konstruowanie Baz Danych DQL agregacja danych

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

Język SQL podstawy zapytań

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

Transkrypt:

Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) GROUP BY nazwy kolumn HAVING ORDER BY warunek (grupowanie wybieranych wierszy) nazwy kolumn lub pozycje kolumn Każde polecenie SELECT musi posiadać klauzule SELECT oraz FROM, pozostałe klauzule są opcjonalne. 1

Wybieranie wszystkich kolumn Poniższe polecenie SELECT wyświetla wszystkie kolumny i wiersze z tabeli PRACOWNICY. SELECT *FROM PRACOWNICY; Wybieranie wszystkich kolumn i wierszy ma sens tylko w przypadku małych tabel, W praktyce buduje się zapytania, które znacznie ograniczają wynik zapytania. 2

Wybieranie określonych kolumn Polecenie SELECT, którego użyjemy za chwilę, wyświetla kolumny IMIĘ, NAZWISKO i DZIAŁ z tabeli PRACOWNICY. SELECT IMIE, NAZWISKO, DZIAL FROM PRACOWNICY; 3

Wybieranie i jednoczesnym porządkowaniem Następujące polecenie SELECT wyświetla kolumny IMIĘ, NAZWISKO i DZIAŁ z tabeli PRACOWNICY i jednocześnie porządkuje dane według nazwiska. SELECT IMIE, NAZWISKO, DZIAL FROM PRACOWNICY ORDER BY NAZWISKO ASC; Wynik wykonania zapytania jest uporządkowany według kolumny wskazanej w klauzuli ORDER BY. ASC - sortowanie w porządku rosnącym.. DESC - sortowanie w porządku malejącym 4

Możliwe jest wskazanie większej liczby kolumn w klauzuli ORDER BY. SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY ORDER BY STANOWISKO ASC, NAZWISKO ASC; Istnieje inny sposób na wskazanie kolumn w klauzuli ORDER BY. Zamiast nazywać kolumny, możemy je wskazać poprzez ich pozycje na liście SELECT. SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY ORDER BY 3 ASC, 2 ASC; Dozwolona jest tylko jedna klauzula ORDER BY w zapytaniu SELECT. Klauzulę ORDER BY określa się jako ostatnią w całym zapytaniu SELECT. 5

Wybieranie niepowtarzających się wierszy Słowo kluczowe DISTINCT zapewnia, że wynik zwrócony z zapytania zawierać będzie tylko niepowtarzające się wiersze. Wszystkie powtarzające się wartości nie zostaną wyświetlone. SELECT DISTINCT STANOWISKO FROM PRACOWNICY; Słowo kluczowe DISTINCT musi występować zaraz po słowie kluczowym SELECT. SELECT DISTINCT STANOWISKO, DZIAL FROM PRACOWNICY; Takie zapytanie wyświetli wszystkie stanowiska obejmowane w danych działach. Jeżeli w danym dziale pojawią się dwa takie same stanowiska, tylko jedno zostanie wyświetlone. Słowo DISTINCT eliminuje wiersze, które posiadają duplikaty we wszystkich kolumnach wyspecyfikowanych w wyrażeniu SELECT. Tylko jedno słowo DISTINCT może zostać użyte w całym zapytaniu SELECT. 6

Wybieranie określonych wierszy Do wybrania określonych wierszy z tabeli używa się klauzuli WHERE, która służy do określenia kryterium wyboru wierszy. W klauzuli WHERE specyfikujemy warunek, który musi być spełniony dla szukanych wierszy. SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY WHERE STANOWISKO = 'SPRZEDAWCA ; W przypadku kolumn typu znakowego, daty lub czasu, wartości dla których sprawdzany jest warunek muszą być otoczone apostrofem. Przy porównywaniu kolumn typu znakowego należy pamiętać, że rozróżniane są wielkie i małe litery. Dla kolumn typu numerycznego jak np. INTEGER, SMALLINT, wartości do porównania nie są otaczane apostrofem. SELECT NR_KLIENTA, NR_SAMOCHODU, NR_PRACOW_WYP, CENA_JEDN FROM WYPOZYCZENIA WHERE CENA_JEDN >= 100; 7

Operatory logiczne używane w klauzuli WHERE SELECT NR_KLIENTA, NR_SAMOCHODU, NR_PRACOW WYP, CENA_JEDN FROM WYPOZYCZENIA WHERE CENA_JEDN = 100 - równa CENA_JEDN <> 100 - nie równa CENA_JEDN > 100 - większa niż CENA_JEDN >= 100 - większa lub równa CENA_JEDN < 100 - mniejsza niż CENA_JEDN <= 100 - mniejsza lub równa Operatory AND oraz OR SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY WHERE STANOWISKO = 'SPRZEDAWCA' AND DZIAL = 'OBSŁUGA KLIENTA ; Takie zapytanie SQL zwróci w wyniku wszystkich pracowników pracujących na stanowisku sprzedawca w dziale obsługi klienta. 8

SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY WHERE STANOWISKO = 'SPRZEDAWCA' OR DZIAL = 'TECHNICZNY'; Zapytanie zwróci wszystkich pracowników pracujących na stanowisku sprzedawca oraz wszystkich pracowników pracujących w dziale technicznym niezależnie od tego, czy pracują na stanowisku sprzedawca. Operatorów AND i OR możemy używać razem do budowy bardziej złożonych warunków. 9

Zapytanie zwróci wszystkich pracowników pracujących na stanowisku kierownika w dziale obsługi klienta oraz wszystkich pracowników z działu technicznego. Wiersze zostaną uporządkowane wg działu a następnie wg nazwiska. SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY WHERE STANOWISKO = 'KIEROWNIK' AND DZIAL = 'OBSŁUGA KLIENTA' OR DZIAL = 'TECHNICZNY' ORDER BY DZIAL, NAZWISKO; Widoczna jest wyższość operatora AND nad operatorem OR. 10

Następne zapytanie posiada w klauzuli WHERE warunki otoczone nawiasami. Nawiasy pozwalają określić kolejność sprawdzania warunków. SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY WHERE STANOWISKO = 'KIEROWNIK AND (DZIAL = 'OBSŁUGA KLIENTA' OR DZIAŁ = 'TECHNICZNY') ORDER BY DZIAL, NAZWISKO; Zapytanie wyświetli osoby pracujące tylko na stanowisku kierownika w dziale obsługi klienta lub w dziale technicznym. 11

Predykat IN Pozwala porównać wartość do wartości ze zbioru. Wartości typu znakowego, daty i czasu muszą być otoczone apostrofem. SELECT IMIE, NAZWISKO, STANOWISKO, DZIAL FROM PRACOWNICY WHERE STANOWISKO IN ('SPRZEDAWCA, 'KIEROWNIK'); Wartości mogą być typu numerycznego, znakowego, typu daty lub czasu. SELECT MARKA, TYP, ROK_PROD, POJ_SILNIKA FROM DB2ADMIN. SAMOCHODY WHERE POJ_SILNIKA IN (1400, 1600); 12

Predykat BETWEEN Pozwala sprawdzić, czy dana wartość zawiera się między dwoma wskazanymi wartościami. SELECT MARKA, TYP, ROK_PROD, KOLOR, POJ_SILNIKA FROM SAMOCHODY WHERE POJ_SILNIKA BETWEEN 1100 AND 1800; Zapytanie zwróciło dane o samochodach, których pojemność silnika zawiera się miedzy 1100 a 1800 cm sześciennych. Klauzula: WHERE POJ_SILNIKA BETWEEN 1100 AND 1800; jest równa następującemu zapisowi: WHERE POJ_SILNIKA >= 1100 AND POJ_SILNIKA <= 1800; 13

Wybieranie wartości NULL Wybieranie wierszy z tabeli, w których jedno z pól zawiera wartość pustą NULL, polega na użyciu predykatu NULL. W przykładzie użycia predykatu NULL wybieramy wszystkich klientów, którzy nie posiadają karty kredytowej. Zwrócone zostaną wiersze z danymi o klientach, którzy w polu NR_ KARTY_KREDYT nie posiadaj ą żadnego wpisu. SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NR_KARTY_KREDYT IS NULL; Możliwe jest wybranie wszystkich klientów posiadających kartę kredytową. Wtedy w klauzuli WHERE dla sprawdzenia wartości w polu NR_KARTY_KREDYT używamy również predykatu NULL, ale z zaprzeczeniem. SELECT IMIE, NAZWISKO, NR_KARTY_KREDYT, MIASTO FROM KLIENCI WHERE NR_KARTY_KREDYT IS NOT NULL; 14

Wyszukiwanie częściowe - predykat LIKE Często istnieje konieczność wyszukania np. nazwisk klientów, które zaczynają się od konkretnej litery. SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO LIKE 'K%'; Inne przykłady użycia predykatu LIKE: SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO LIKE '%SKI'; Zapytanie zwróci wiersze z danymi o klientach, których nazwiska kończą się na ski". 15

W następnym przykładzie wyszukamy klientów, którzy w swoim nazwisku posiadają litery K" oraz A" w wymienionym porządku. SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO LIKE '%K%A%'; W zapytaniach z predykatem LIKE można stosować zaprzeczenie NOT oraz operatory AND i OR. Oto przykłady: SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO NOT LIKE 'K%'; 16

Następujące zapytanie wyszuka wszystkich klientów, których nazwiska nie zaczynają się na literę K" oraz D". SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO NOT LIKE 'K%' AND NAZWISKO NOT LIKE 'D%' ; Możliwe jest również wyszukanie np. klientów, których nazwiska zawierają drugą literę O". Znak _" zastępuje dowolny pojedynczy znak. SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO LIKE '_0%'; 17

Przykład, w którym pomijamy dwie pierwsze litery nazwiska: SELECT IMIE, NAZWISKO, ULICA, MIASTO FROM KLIENCI WHERE NAZWISKO LIKE ' C%'; 18

Podsumowanie 1. Do wybierania danych z tabeli służy polecenie SELECT. 2. Można wybierać wszystkie i określone kolumny tabeli. 3. Można wybierać wszystkie i określone wiersze. 4. Można wybierać dane i jednocześnie je uporządkować. 5. W zapytaniu SELECT można użyć słów kluczowych: DISTINCT - w celu wyszukania nie powtarzających się wierszy; LIKE - w celu określenia wartości dla warunku; IN - w celu wskazania zbioru wartości dla warunku; BETWEEN - w celu wskazania zakresu wartości dla warunku. 19