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