Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language) DCL (ang( ang.. Data Control Language) polecenie SQL może być zapisane: w jednym bądź wielu wierszach dużymi lub małymi literami polecenie SQL kończymy średnikiem SELECT * * FROM pracownicy; Proste zapytania 1
Projekcja wybór wartości określonych atrybutów relacji SELECT nazwisko, etat etat ; Wyrażenia arytmetyczne operatory arytmetyczne +, -,, *, / SELECT nazwisko, placa_pod*12, placa_dod+200 ; Proste zapytania 2
Aliasy atrybutów relacji alias - alternatywna nazwa atrybutu SELECT nazwisko, placa_pod*12 roczna_placa, placa_dod+200 "nowe dodatki" ; Operator konkatenacji - umożliwia łączenie wartości wyświetlanych atrybutów SELECT 'Pracownik ' ' nazwisko ; Proste zapytania 3
Obsługa wartości pustych funkcja NVL o następującej specyfikacji NVL (wyrażenie, wartość) SELECT nazwisko, placa_pod*12 + placa_dod ; SELECT nazwisko, placa_pod*12 + NVL NVL ((placa_dod,, 0) 0) ; SELECT etat etat ; Eliminowanie duplikatów słowo kluczowe DISTINCT SELECT DISTINCT etat etat ; Proste zapytania 4
Porządkowanie wyników zapytania klauzula ORDER BY kolejność sortowania - słowo kluczowe ASC lub DESC ORDER BY występuje zawsze jako ostatnia klauzula zapytania SELECT nazwisko, etat etat ORDER BY BY etat etat DESC, nazwisko ASC; Proste zapytania 5
klauzula WHERE składnia polecenia Selekcja krotek relacji SELECT atrybut 1, 1, atrybut 2, 2,...... FROM relacja WHERE atrybut m operator wartość Operatory operatory matematyczne =,!=, <>, >, >=, <, <= SELECT nazwisko, placa_pod, etat etat WHERE placa_pod > 400; 400; Proste zapytania 6
operatory SQL BETWEEN... AND... Operatory cd. IN SELECT nazwisko, placa_pod, etat etat WHERE placa_pod BETWEEN 900 900 AND 1200; SELECT nazwisko, placa_pod, id_zesp WHERE etat etat IN IN ('PROFESOR', 'DYREKTOR'); Proste zapytania 7
Operatory cd. LIKE SELECT nazwisko, placa_pod, id_zesp WHERE nazwisko LIKE 'M%'; IS NULL SELECT nazwisko, placa_pod WHERE placa_dod IS IS NULL; Proste zapytania 8
Operatory cd. negacje operatorów SQL NOT BETWEEN... AND... NOT IN NOT LIKE IS NOT NULL SELECT nazwisko, placa_pod, id_zesp WHERE etat etat NOT IN IN ('PROFESOR', 'DYREKTOR'); Proste zapytania 9
Warunki złożone klauzuli WHERE operatory logiczne w klauzuli WHERE AND OR SELECT nazwisko, placa_pod, id_zesp WHERE etat etat = 'ASYSTENT' AND placa_pod > 400; 400; Proste zapytania 10
Warunki złożone klauzuli WHERE cd. operatory logiczne mogą być stosowane jednocześnie w tej samej klauzuli WHERE AND posiada wyższy priorytet niż OR zmiana priorytetu jest możliwa za pomocą nawiasów SELECT nazwisko, etat etat WHERE placa_pod > 500 500 AND etat etat = 'ADIUNKT' OR OR etat etat = 'ASYSTENT'; Proste zapytania 11