Title: (c) 1999, Instytut Informatyki Politechniki Poznanskiej
1Rozdzial 2 Jezyk bazy danych - SQL Proste
zapytania
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
2Wprowadzenie do jezyka SQL
- jezyk dostepu do bazy danych
- jezyk deklaratywny
- grupy polecen jezyka
- DQL (ang. Data Query Language)
- DML (ang. Data Manipulation Language)
- DDL (ang. Data Definition Language)
- DCL (ang. Data Control Language)
- polecenie SQL moze byc zapisane
- w jednym badz wielu wierszach
- duzymi lub malymi literami
- polecenie SQL konczymy srednikiem
SELECT FROM pracownicy
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
3Projekcja
- wybór wartosci okreslonych atrybutów relacji
SELECT nazwisko, etat FROM pracownicy
Wyrazenia arytmetyczne
- operatory arytmetyczne
- , -, , /
SELECT nazwisko, placa_pod12, placa_dod200 FROM
pracownicy
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
4Aliasy atrybutów relacji
- alias - alternatywna nazwa atrybutu
SELECT nazwisko, placa_pod12 roczna_placa,
placa_dod200 "nowe dodatki" FROM pracownicy
Operator konkatenacji -
- umozliwia laczenie wartosci wyswietlanych
atrybutów
SELECT 'Pracownik ' nazwisko FROM pracownicy
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
5Eliminowanie duplikatów
Obsluga wartosci pustych
- funkcja NVL o nastepujacej specyfikacji
- NVL (wyrazenie, wartosc)
SELECT nazwisko, placa_pod12 placa_dod FROM
pracownicy
SELECT nazwisko, placa_pod12 NVL (placa_dod,
0) FROM pracownicy
SELECT etat FROM pracownicy
SELECT DISTINCT etat FROM pracownicy
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
6Edycja polecen
- input tekst rozszerza bufor o wiersz tekst
- change /stary/nowy zamienia lancuch znaków
stary na - nowy w biezacym wierszu bufora
- list wyswietla zawartosc bufora
- list n wyswietla wiersz bufora o numerze n
- del kasuje biezacy wiersz bufora polecen
- run wyswietla i wykonuje polecenie przecho
wywane w buforze
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
7Edycja polecen cd.
- save nazwa_pliku zapisuje zawartosc bufora w
pliku tekstowym - get nazwa_pliku wczytuje do bufora zawartosc
pliku - edit umozliwia edycje zawartosci bufora za
pomoca - edytora tekstowego (zmienna _EDITOR)
- start nazwa_pliku wykonuje polecenia zawarte w
pliku - _at_nazwa_pliku wykonuje polecenia zawarte w pliku
- describe nazwa_relacji wyswietla schemat relacji
- exit konczy sesje uzytkownika
- spool nazwa_pliku zapisuje w pliku informacje
pojawiajace sie na ekranie - spool off konczy zapisywanie do pliku
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
8Porzadkowanie wyników zapytania
- klauzula ORDER BY
- kolejnosc sortowania - slowo kluczowe ASC lub
DESC - ORDER BY wystepuje zawsze jako ostatnia klauzula
zapytania
SELECT nazwisko, etat FROM pracownicy ORDER BY
etat DESC, nazwisko ASC
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
9Selekcja krotek relacji
- klauzula WHERE
- skladnia polecenia
SELECT atrybut1, atrybut2, ... FROM relacja WHERE
atrybutm operator wartosc
Operatory
- operatory matematyczne
- , !, ltgt, gt, gt, lt, lt
SELECT nazwisko, placa_pod, etat FROM
pracownicy WHERE placa_pod gt 400
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
10Operatory cd.
- operatory SQL
- BETWEEN ... AND ...
SELECT nazwisko, placa_pod, etat FROM
pracownicy WHERE placa_pod BETWEEN 900 AND 1200
SELECT nazwisko, placa_pod, id_zesp FROM
pracownicy WHERE etat IN ('PROFESOR', 'DYREKTOR')
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
11Operatory cd.
SELECT nazwisko, placa_pod, id_zesp FROM
pracownicy WHERE nazwisko LIKE 'M'
SELECT nazwisko, placa_pod FROM pracownicy WHERE
placa_dod IS NULL
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
12Operatory cd.
- negacje operatorów SQL
- NOT BETWEEN ... AND ...
- NOT IN
- NOT LIKE
- IS NOT NULL
SELECT nazwisko, placa_pod, id_zesp FROM
pracownicy WHERE etat NOT IN ('PROFESOR',
'DYREKTOR')
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
13Warunki zlozone klauzuli WHERE
- operatory logiczne w klauzuli WHERE
- AND
- OR
SELECT nazwisko, placa_pod, id_zesp FROM
pracownicy WHERE etat 'ASYSTENT' AND placa_pod
gt 400
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej
14Warunki zlozone klauzuli WHERE cd.
- operatory logiczne moga byc stosowane
jednoczesnie w tej samej klauzuli WHERE - AND posiada wyzszy priorytet niz OR
- zmiana priorytetu jest mozliwa za pomoca nawiasów
SELECT nazwisko, etat FROM pracownicy WHERE
placa_pod gt 500 AND etat 'ADIUNKT' OR etat
'ASYSTENT'
(c) 1999, Instytut Informatyki Politechniki
Poznanskiej