symbol gwiazdki

Transkrypt

symbol gwiazdki
Składnia zapytania SQL
TECHNOLOGIE
BAZ DANYCH
SELECT [DISTINCT] wyrażenie1 [, wyrażenie2 ...]
FROM nazwa_tabeli1 [, nazwa_tabeli2 ...]
[WHERE warunek]
[GROUP BY wyrażenie1 [, wyrażenie2 ...]]
[HAVING warunek]
[ORDER BY wyrażenie1 [ASC | DESC]
[, wyrażenie2 [ASC | DESC] ...]];
WYKŁAD 2
Język zapytań (SQL) do baz danych.
(Wybrane materiały)
Dr inż. E. Busłowska
Copyright © 2014-2015 E. Busłowska.
1
Klauzula SELECT
• Symbol gwiazdki " * " może zostać użyty w
znaczeniu "wszystkie atrybuty"
SELECT *
FROM DEPT;
• Wyrażenia arytmetyczne składające się ze stałych,
atrybutów wierszy i operatorów: + , - , * i /
SELECT sal+comm
FROM EMP;
3
Operatory
•
•
•
•
•
•
•
•
•
•
•
•
•
2
Klauzula SELECT c. d.
• Podać nazwiska wszystkich pracowników z
relacji Pracownicy:
SELECT ename
FROM EMP;
• Język SQL akceptuje występowanie duplikatów
wierszy zarówno w relacjach, jak i w
odpowiedziach na zapytania.
SELECT deptno
FROM EMP;
Copyright © 2014-2015 E. Busłowska.
Copyright © 2014-2015 E. Busłowska.
Copyright © 2014-2015 E. Busłowska.
4
Klauzula WHERE
=
równa się
<>, !=
nie równa się
>
jest większy
>=
jest większy lub równy
<
jest mniejszy
<=
jest mniejszy lub równy
BETWEEN ... AND
znajduje się między dwoma wartościami
IN (lista)
znajduje się w liście wartości
LIKE
jest podobny do
IS NULL
ma wartość nie określoną
SELECT ename, job
FROM EMP
WHERE sal=2400 AND job=‘CLERK’;
SELECT ename, job
FROM EMP
WHERE sal Between 1500 And 2500;
Cztery ostatnie operatory mogą być zaprzeczone operatorem NOT.
Spójniki logiczne: AND, OR i NOT
Copyright © 2014-2015 E. Busłowska.
5
Copyright © 2014-2015 E. Busłowska.
6
1
Operator IN
Operator IS NULL
•
• Pozwala wyznaczyć wszystkie rekordy, w
których wartość pewnego pola nie jest
określona.
SELECT ename, sal
FROM EMP
WHERE job IN (‘SALESMAN’, ‘CLERK’,’
ANALYST’);
SELECT empno, ename
FROM EMP
WHERE mgr Is Null;
Copyright © 2014-2015 E. Busłowska.
7
Operacje na ciągach znaków
Najczęściej używanymi operacjami na ciągach znaków jest
porównywanie ciągu do wzorca. Służy do tego operator Like. Wzorce
definiuje się używając dwóch znaków specjalnych:
•
% - zastępuje dowolny ciąg znaków.
•
_ - zastępuje jeden dowolny znak.
• Wzorce uwzględniają duże i małe litery.
• SELECT ename, job, sal
FROM EMP
WHERE job=‘CLERK’
AND hiredate >=‘2014/01/01’
AND hiredate <=‘2014/10/15’;
SELECT empno
FROM EMP
WHERE ename LIKE '%E%';
SELECT empno
FROM EMP
WHERE ename LIKE ‘BL__E‘;
Wyszukiwanie ciągów znaków nie pasujących do danego wzorca operator NOT LIKE.
Copyright © 2014-2015 E. Busłowska.
9
Aliasy
Copyright © 2014-2015 E. Busłowska.
10
Operator konkatenacji - ||
• Alias wpisuje się bezpośrednio kolumną, której dotyczy
• SELECT ename, job, sal wynagrodzenie
FROM EMP
WHERE job=‘CLERK’ ;
• Pozwala na połączenie wartości dwóch lub więcej
kolumn lub stałych
• SELECT ename, job „stanowisko pracownika”
FROM EMP
WHERE job=‘CLERK’ ;
• SELECT 'Pracownik o nazwisku ' || ename || '
jest Dyrektorem ds. sprzedaży' Zdanie
FROM EMP
WHERE job='Dyrektor ds. sprzedaży';
Copyright © 2014-2015 E. Busłowska.
8
Warunki złożone
klauzuli WHERE
•
•
Copyright © 2014-2015 E. Busłowska.
11
Copyright © 2014-2015 E. Busłowska.
12
2
Klauzula FROM
Wyrażenia arytmetyczne
• Klauzula FROM definiuje produkt kartezjański relacji,
który zostanie użyty w zapytaniu.
• SELECT loc, deptno
FROM DEPT;
• SELECT sal*1.25 „Nowa cena”
FROM EMP
WHERE sal*1.25>1500;
• SELECT ename, loc, DEPT.deptno
FROM EMP, DEPT
WHERE DEPT.deptno=EMP.deptno;
• SELECT 12*(sal+NVL(comm,0)) Zarobki
• FROM EMP
• WHERE deptno = 20;
Copyright © 2014-2015 E. Busłowska.
13
Copyright © 2014-2015 E. Busłowska.
14
Aliasy w klauzuli FROM
• SELECT ename, loc, D.deptno
FROM EMP E, DEPT D
WHERE D.deptno=E.deptno;
Copyright © 2014-2015 E. Busłowska.
15
3