Marek Rakowski Podstawy zdania SELECT Strona 1 z 12



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

Język SQL. Rozdział 2. Proste zapytania

Wprowadzenie do języka SQL

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

Przestrzenne bazy danych Podstawy języka SQL

Autor: Joanna Karwowska

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

Podstawowe zapytania SELECT (na jednej tabeli)

Autor: Joanna Karwowska

Systemy GIS Tworzenie zapytań w bazach danych

SQL (ang. Structured Query Language)

Wykład 5. SQL praca z tabelami 2

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6

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

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

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Relacyjne bazy danych. Podstawy SQL

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

Wprowadzenie do baz danych

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Technologie baz danych

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

PODZAPYTANIE (SUBSELECT)

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

Zadania z SQLa (MS SQL Server)

- 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

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

3. Podzapytania, łączenie tabel i zapytań

Relacyjne bazy danych. Podstawy SQL

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

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

Materiały szkoleniowe. Podstawy języka SQL

Grupowanie i funkcje agregacji

Laboratorium Bazy danych SQL 2

Struktura bazy danych

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

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

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

Podyplomowe Studia Systemy informatyczne w logistyce

Widok Connections po utworzeniu połączenia. Obszar roboczy

Autor: Joanna Karwowska

Wykład 6. SQL praca z tabelami 3

Język SQL, zajęcia nr 1

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

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

Oracle11g: Wprowadzenie do SQL

SIECI KOMPUTEROWE I BAZY DANYCH

Komunikacja z bazą danych psql

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

15. Funkcje i procedury składowane PL/SQL

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Zapytania do bazy danych

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

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Technologie baz danych

Laboratorium Bazy danych SQL 3 1

Wyższa Szkoła Zarządzania i Marketingu w Sochaczewie. Grzegorz Domaoski. grzegorz.domanski@wszim-sochaczew.edu.pl. MS SQL Server

SQL praca z tabelami 4. Wykład 7

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Bazy danych. Polecenia SQL

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

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

ACCESS ćwiczenia (zestaw 1)

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Kurs. Podstawy MySQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Optymalizacja poleceń SQL Metody dostępu do danych

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

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

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

Bazy danych 7. SQL podstawy

Model relacyjny. Wykład II

Bazy danych SQL Server 2005

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Microsoft SQL Server Podstawy T-SQL

Bazy danych Access KWERENDY

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

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

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

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Podstawowe funkcje dodatku linq w C#

Ćwiczenie 1 podstawy

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

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

Indeksowanie w bazach danych

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Tworzenie zapytań do Microsoft SQL Server

PL/SQL. Funkcje wbudowane

Język PL/SQL Procedury i funkcje składowane

Wykład 05 Bazy danych

Transkrypt:

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne jest wykonanie postawionego zadania, a nie sposób jego wykonania. SQL nie jest językiem proceduralnym tzn. nie posiada konstrukcji takich jak pętle, wykonywania instrukcji. Możliwości SQL wybieranie danych wstawianie danych modyfikowanie danych usuwanie danych tworzenie obiektów bazy danych modyfikowanie obiektów bazy danych usuwanie obiektów bazy danych zarządzanie uprawnieniami dostępu do danych i do obiektów bazy danych utrzymanie spójności danych SQL*Plus - narzędzie umożliwiające wprowadzanie i wykonywanie instrukcji SQL skryptów SQL instrukcji SQL*Plus bloków PL/SQL dokonywanie czynności administracyjnych

Marek Rakowski Podstawy zdania SELECT Strona 2 z 12 Podstawowe polecenia SQL*Plus START plik lub @plik - Wykonanie skryptu poleceń SQL lub PL/SQL EDIT plik - Wywołanie standardowego edytora CONNECT użytkownik/hasło@opis_serwera Umożliwienie dokonania przyłączenia się do określonego serwera bazy danych bazy danych SPOOL plik - Zapisanie polecenia i wyniku do pliku SPOOL OFF - Zamknięcie pliku otwartego przez SPOOL HOST polecenie - Wykonaj polecenie systemu operacyjnego EXIT - Wyjście z programu DESCRIBE nazwa_tabeli Wyświetlenie opisu tabeli DESCRIBE nazwa_procedury - Wyświetlenie opisu procedury DESCRIBE nazwa_funkcji - Wyświetlenie opisu funkcji EXECUTE nazwa(...) - Wykonanie procedury nazwa SHOW ERRORS - Pokazanie błędów ostatnio wykonanego polecenia PL/SQL Zmienne podstawiania Zmienne podstawiania służą umożliwieniu nadania zmiennym wartości. Oznaczenie symbolu (ciągu znaków) jako zmiennej realizowane jest przez poprzedzenie go znakiem & (zmienna chwilowa) lub && (zmienna sesji). &parametr1 &&przelicznik Do wyświetlenia zmiennych sesji służy polecenie DEFINE. Do kasowania zmiennych sesji służy polecenie UNDFINE.

Marek Rakowski Podstawy zdania SELECT Strona 3 z 12 Zapytania proste Podstawowym zapytaniem kierowanym do systemu zarządzania bazą danych jest polecenie wybrania zadanego zestawu informacji. Podstawowe zdanie SELECT W najprostszej formie zdania SELECT zawiera ono polecenie wybrania zestawu danych z określonego przez FROM źródła danych. Zdanie może być pisane w wielu liniach. Zdanie kończy się średnikiem. SELECT * FROM department; SELECT regional_group FROM location; wybrać wszystkie stanowiska pracy z tabeli JOB wybrać nazwiska i imiona wszystkich pracowników Rozszerzenia zdania SELECT - Alias Alias jest to jedno lub wiele słów, które pojawią się w nagłówku zamiast specyfikacji kolumny. SELECT last_name Nazwisko, hire_date Data zatr FROM employee; SELECT name Departamenty FROM department; wybrać dostępne produkty i opisać jako Produkty wybrać nazwy klientów i opisać jako Nazwa klienta

Marek Rakowski Podstawy zdania SELECT Strona 4 z 12 Rozszerzenia zdania SELECT - Wyrażenia arytmetyczne Wyrażenie jest zastosowaniem operacji arytmetycznych (użycia funkcji, operatorów dla kolumn) co umożliwia przeliczenie wartości kolumn. Operatorami mogą być: *, /, + i -. Przykłady wyrażeń zmiana wartości wyświetlanej ceny minimalnej podanie w centach SELECT 100 * min_price FROM price; Przeliczyć zarobki pracowników na tysiące dolarów Rozszerzenia zdania SELECT - Literały Literały są ciągami znaków, które można wyświetlić w wyniku wykonania SELECT deklarując je w zapytaniu. SELECT Pracownik,last_name, pracuje od, hire_date FROM employee; SELECT Klient, name, pochodzi z, city FROM customer; uzyskać zdania opisujące zarobki

Marek Rakowski Podstawy zdania SELECT Strona 5 z 12 Rozszerzenia zdania SELECT - Konkatenacja Konkatenacja służy połączeniu zawartości dwóch lub więcej wartości tekstowych w funkcjonalnie jedno. W przypadku, gdy konkatenacji ma podlegać liczba lub data zostaje ona poddana domyślnej konwersji na ciąg znaków. W przypadku, gdy konkatenacji ma podlegać wyrażenie arytmetyczne musi być umieszczone w nawiasie. SELECT last_name first_name Pracownicy FROM employee; SELECT start_date end_date obowiązywania cen FROM price; Cena: list_price Okresy uzyskać wiersze z jedną kolumną podstawowych informacji o pracownikach Pracownik...... zarabia... NULL NULL wartość nieokreślona funkcjonalnie różna od liczbowego 0. UWAGA: wyrażenie arytmetyczne z null daje null, konkatenacja wartości z null daje wartość Wybranie okresów obowiązywania cen : SELECT start_date, NVL( end_date, sysdate ), list_price FROM price; Wybrać premie pracowników, tam gdzie nie ma wyświetlić 0.

Marek Rakowski Podstawy zdania SELECT Strona 6 z 12 DISTINCT Użycie DISTINCT realizuje zapewnienie unikalności wybranego zestawu danych w zakresie otrzymanych w zapytaniu wierszy. Wybranie zbioru miast klientów SELECT distinct city FROM customers; Określić zbiór identyfikatorów osób, które zajmują się obsługą klientów. ORDER BY ORDER BY użyte jako ostatni element zapytania z wyspecyfikowanymi kolumnami (wyrażeniami) i porządkiem zapytania określa sposób w jaki posortowane zostaną otrzymane wiersze. Porządek (rosnący lub malejący) zapewniany jest przez odpowiednio ASC, DESC, przy czym domyślnym jest ASC. Kolumny o wartości NULL traktowane są ostatnie w przypadku sortowania rosnącego i vice versa w przypadku malejącego. Określając kolumny można w ORDER BY posłużyć się ich kolejnością specyfikując pierwszą, która ma być wyświetlona jako 1, drugą jako 2 itd. Przykłady Alfabetyczny spis pracowników SELECT last_name, first_name FROM employee ORDER BY last_name, first_name ; Spis pracowników od największego stażu do najmniejszego Wykaz historia zmian cen produktów

Marek Rakowski Podstawy zdania SELECT Strona 7 z 12 WHERE Zadaniem WHERE w przypadku zapytania prostego jest zastosowanie warunków na wybrany zestaw wierszy. Warunkiem logicznym jest użycie operatora logicznego takiego jak: = porównanie (UWAGA nie można porównywać wartości NULL) > sprawdzenie większości >= sprawdzenie większości lub równości < sprawdzenie mniejszości <= sprawdzenie mniejszości lub równości <> sprawdzenie różności!= sprawdzenie różności Wybranie wszystkich pracowników Departamentu o kodzie 10. SELECT last_name FROM employee WHERE department_id = 10; Wybranie wszystkich klientów, którzy pochodzą z Dallas. SELECT name FROM customers WHERE city = DALLAS ; Znalezienie tych pracowników, którzy mają premię, SELECT last_name FROM employee WHERE nvl( commission, 0) > 0; Znaleźć identyfikatory produktów i ich aktualne ceny

Marek Rakowski Podstawy zdania SELECT Strona 8 z 12 LIKE, IN, BETWEEN, IS NULL Warunkiem logicznym może być również użycie operatora SQL takiego jak: BETWEEN... AND... sprawdzenie zawierania się w przedziałach domkniętych IN (...,...,...) sprawdzenie zawierania się w wyspecyfikowanym zbiorze LIKE... sprawdzenie podobieństwa do wzorców określonych za pomocą następujących kryteriów zbudowanych z użyciem symboli wieloznacznych % dowolny ciąg w tym również pusty _ (podkreślenie) - dokładnie jeden znak IS NULL sprawdzenie czy wartość jest nieokreślona Wybranie tych pracowników, którzy są z działu 10 lub 20 SELECT last_name FROM employee WHERE department_id IN( 10, 20 ); Wybranie osób z imionami zaczynającymi się na literę R SELECT last_name, first_name FROM employee WHERE first_name LIKE R% ; Wybranie osób, których zarobki są między 1000 i mniejsze od 2000. SELECT imie, nazwisko FROM pracownicy_dt WHERE salary BETWEEN 1000 AND 2000; Wybranie cen i identyfikatorów tych produktów, których ceny są aktualne. SELECT product_id, list_price FROM price WHERE end_date IS NULL; Wybranie szefa. Wybranie produktów, które są koloru żółtego. Wybranie tych klientów, którzy pochodzą ze stanu CA lub NY.

Marek Rakowski Podstawy zdania SELECT Strona 9 z 12 NOT NOT stosowane jest przed warunkami logicznymi z użyciem operatorów logicznych i przed operatorami SQL Przykłady Wybranie tych pracowników, którzy nie są z działu 10 ani z 20 SELECT last_name FROM employee WHERE department_id NOT IN ( 10, 20 ); Wybranie osób z imionami zaczynającymi się na literę R SELECT last_name, first_name FROM employee WHERE first_name NOT LIKE R% ; Wybranie nieaktualnych cen i identyfikatorów produktów SELECT product_id, list_price FROM price WHERE end_date IS NOT NULL; Wybrać pracowników, którzy są podwładnymi Wybrać nazwy produktów, które nie są piłkami Wybrać klientów nie z Dallas, ani z Nowego Yorku. Hierarchia warunków logicznych Warunki logiczne mogą być łączone za pomocą operatorów sumy logicznej OR lub iloczynu logicznego AND. AND ma pierwszeństwo nad OR dlatego należy stosować nawiasy w przypadku konieczności uzyskania innego porządku sprawdzania warunku. Pełna hierarchia (odzwierciedlająca pierwszeństwo) wygląda następująco: =,!=, <>, >=, <=, BETWEEN AND, IN, LIKE, IS NULL; NOT AND OR

Marek Rakowski Podstawy zdania SELECT Strona 10 z 12 Przykłady Wybór pracowników z działo 10 lub 20 lub 30, którzy zarabiają poniżej 1000 lub powyżej 2000 SELECT first_name, last_name FROM employee WHERE salary NOT BETWEEN 1000 AND 2000 AND department_id IN ( 10, 20, 30 ); Uzyskać identyfikatory produktów, które nie są kolory służą do uprawiania tenisa i nie są to piłki Wybrać nazwiska i numery działów pracowników, którzy zarabiają poniżej 2500, ale takich, że: mają premię powyżej 1000 lub są z działu 10

Marek Rakowski Podstawy zdania SELECT Strona 11 z 12 Operatory zbiorowe Wiersze danych, otrzymywane przez wykonanie zapytań mogą być ze sobą zestawiane w układzie operacji na zbiorach. Operatory zbiorowe traktują efekty wykonania zdań SELECT (w tym na różnych tabelach) jak zbiory miedzy którymi zachodzi działanie. Służą do tego operatory łączące zdania SELECT takie jak: UNION, INTERSECT i MINUS. Zasady stosowania operatorów grupowych Składnia wynikająca ze stosowania operatorów mnogościowych niesie za sobą pewne konsekwencje budowania zdań: Wiersze zwracane przez poszczególne zapytania muszą odpowiadać sobie pod względem typów i ilości. Klauzula ORDER BY stosowana jest po ostatnim zapytaniu i kolumny są w niej reprezentowane w postaci liczb określających ich kolejność w wierszu. Nagłówki rezultatu są tworzone na podstawie pierwszego zdania SELECT. UNION Dzięki UNION, rozdzielającemu zapytania można otrzymać mnogościową sumę wierszy, tzn. taką gdzie występuje każdy z wierszy zwróconych w poszczególnych zapytaniach, ale brak jest powtórzeń wierszy. Uzyskanie wierszy bez eliminacji powtórzeń umożliwia operator UNION ALL. Przykład: SELECT first_name, last_name FROM employee WHERE commission IS NULL UNION SELECT first_name, last_name FROM employee WHERE commission IS NOT NULL; Zadanie: Wybrać opisy (nazwisko i imię dla pracowników i nazwy dla firm będących klientami) w postaci jednej listy oznaczając, kto jest pracownikiem, a kto klientem

Marek Rakowski Podstawy zdania SELECT Strona 12 z 12 INTERSECT Operator INTERSECT umożliwia otrzymanie iloczynu mnogościowego wierszy poszczególnych zapytań, tzn. łącznie zwrócone zostaną tylko te wiersze, które występują w zapytaniach, bez powtórzeń. Przykład: SELECT first_name, last_name FROM employee WHERE commission IS NOT NULL INTERSECT SELECT first_name, last_name FROM employee WHERE salary > 1500; Zadanie: Wybrać te miasta, w których są siedziby i klientów i departamenty firmy MINUS Operator MINUS daje możliwość mnogościowego wykonania różnicy zbiorów, tj. zwrócenia tylko tych wierszy z zapytania poprzedzającego operator MINUS, których brak w zapytaniu następującym po operatorze. Przykład: SELECT first_name, last_name, commission FROM employee MINUS SELECT first_name, last_name, commission FROM employee WHERE nvl(commission,0) = 0; Zadanie: Wybrać te miasta, w których są departamenty firmy ale nie ma siedzib klientów.