Wprowadzenie do języka SQL

Transkrypt

Wprowadzenie do języka SQL
Wprowadzenie do języka SQL
• język dostępu do bazy danych
• grupy poleceń języka:
– DQL (ang. Data Query Language)
– DML (ang. Data Manipulation Language)
– DDL (ang. Data Definition Language)
– DCL (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
SELECT**FROM
FROM
pracownicy;
pracownicy;
Proste zapytania
1
Projekcja
• wybór wartości określonych atrybutów relacji
SELECT
SELECTnazwisko,
nazwisko,etat
etat
FROM
FROMpracownicy;
pracownicy;
Wyrażenia arytmetyczne
• operatory arytmetyczne
– +, -, *, /
SELECT
_pod*12, placa
_dod+200
SELECTnazwisko,
nazwisko,placa
placa_pod*12,
placa_dod+200
FROM
FROMpracownicy;
pracownicy;
Proste zapytania
2
Aliasy atrybutów relacji
• alias - alternatywna nazwa atrybutu
SELECT
SELECTnazwisko,
nazwisko,
placa
_pod*12 roczna_
placa,
placa_pod*12
roczna_placa,
placa
_dod+200 "nowe
placa_dod+200
"nowedodatki"
dodatki"
FROM
FROMpracownicy;
pracownicy;
Operator konkatenacji - ||
• umożliwia łączenie wartości wyświetlanych
atrybutów
SELECT
SELECT'Pracownik
'Pracownik' '||||nazwisko
nazwisko
FROM
FROMpracownicy;
pracownicy;
Proste zapytania
3
Obsługa wartości pustych
• funkcja NVL o następującej specyfikacji
NVL (wyrażenie, wartość)
SELECT
SELECTnazwisko,
nazwisko,
placa
_pod*12 ++placa
_dod
placa_pod*12
placa_dod
FROM
FROMpracownicy;
pracownicy;
SELECT
SELECTnazwisko,
nazwisko,
placa
_pod*12 ++NVL
placa_dod, 0)
placa_pod*12
NVL((placa_dod,
0)
FROM
FROMpracownicy;
pracownicy;
Eliminowanie duplikatów
• słowo kluczowe DISTINCT
SELECT
SELECTetat
etatFROM
FROMpracownicy;
pracownicy;
SELECT
SELECTDISTINCT
DISTINCTetat
etatFROM
FROMpracownicy;
pracownicy;
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
SELECTnazwisko,
nazwisko,etat
etat
FROM
FROMpracownicy
pracownicy
ORDER
ORDERBY
BYetat
etatDESC,
DESC,nazwisko
nazwiskoASC;
ASC;
Proste zapytania
5
Selekcja krotek relacji
• klauzula WHERE
• składnia polecenia
SELECT
atrybut22,,...
...
SELECTatrybut
atrybut11,,atrybut
FROM
FROMrelacja
relacja
WHERE
WHEREatrybut
atrybutm operator
operatorwartość
wartość
m
Operatory
• operatory matematyczne
=,
!=,
<>,
>,
>=,
<,
<=
SELECT
_pod, etat
SELECTnazwisko,
nazwisko,placa
placa_pod,
etat
FROM
FROMpracownicy
pracownicy
WHERE
_pod >>400;
WHEREplaca
placa_pod
400;
Proste zapytania
6
Operatory cd.
• operatory SQL
– BETWEEN ... AND ...
SELECT
_pod, etat
SELECTnazwisko,
nazwisko,placa
placa_pod,
etat
FROM
FROMpracownicy
pracownicy
WHERE
_pod BETWEEN
WHEREplaca
placa_pod
BETWEEN900
900AND
AND1200;
1200;
– IN
SELECT
_pod, id_
zesp
SELECTnazwisko,
nazwisko,placa
placa_pod,
id_zesp
FROM
FROMpracownicy
pracownicy
WHERE
WHEREetat
etatIN
IN('PROFESOR',
('PROFESOR','DYREKTOR');
'DYREKTOR');
Proste zapytania
7
Operatory cd.
– LIKE
SELECT
_pod, id_
zesp
SELECTnazwisko,
nazwisko,placa
placa_pod,
id_zesp
FROM
FROMpracownicy
pracownicy
WHERE
WHEREnazwisko
nazwiskoLIKE
LIKE'M%';
'M%';
– IS NULL
SELECT
_pod
SELECTnazwisko,
nazwisko,placa
placa_pod
FROM
FROMpracownicy
pracownicy
WHERE
_dod IS
WHEREplaca
placa_dod
ISNULL;
NULL;
Proste zapytania
8
Operatory cd.
• negacje operatorów SQL
– NOT BETWEEN ... AND ...
– NOT IN
– NOT LIKE
– IS NOT NULL
SELECT
_pod, id_
zesp
SELECTnazwisko,
nazwisko,placa
placa_pod,
id_zesp
FROM
FROMpracownicy
pracownicy
WHERE
WHEREetat
etatNOT
NOTIN
IN('PROFESOR',
('PROFESOR','DYREKTOR');
'DYREKTOR');
Proste zapytania
9
Warunki złożone klauzuli WHERE
• operatory logiczne w klauzuli WHERE
– AND
– OR
SELECT
_pod, id_
zesp
SELECTnazwisko,
nazwisko,placa
placa_pod,
id_zesp
FROM
FROMpracownicy
pracownicy
WHERE
WHEREetat
etat=='ASYSTENT'
'ASYSTENT'
AND
_pod >>400;
ANDplaca
placa_pod
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
SELECTnazwisko,
nazwisko,etat
etat
FROM
FROMpracownicy
pracownicy
WHERE
_pod >>500
WHEREplaca
placa_pod
500AND
ANDetat
etat=='ADIUNKT'
'ADIUNKT'
OR
ORetat
etat=='ASYSTENT';
'ASYSTENT';
Proste zapytania
11

Podobne dokumenty