Ćwiczenie 1
Aplikacja SQL*Plus
Użytkownik Testowy
Hasło Test
Baza danych Studenci
Zmiana domyślnych ustawień liczby znaków w linii i długości strony:
SET LINESIZE 100;
SET PAGESIZE 25;
Cel pracy: Zapoznanie się ze sposobami konstruowania zapytań do jednej tabeli bazy danych w środowisku ORACLE. Zapoznanie się z formatami instrukcji SQL: SELECT...FROM...WHERE... ORDER BY..., słowa kluczowego DISTINCT, operatorów AND oraz OR w klauzuli WHERE. z predykatami: IN, BETWEEN, LIKE, IS NULL
SELECT lista wyrażeń [* | DISTINCT]
FROM tabela
WHERE warunek selekcji wierszy
ORDER BY wyrażenia [ASC | DESC]
Zadania
Wyświetl strukturę tabeli EMP (polecenie DESCRIBE).
Wybierz wszystkie dane z tabeli EMP.
Wybierz wszystkie dane z tabeli SALGRADE.
Wybierz wszystkie dane z tabeli DEPT
Wybierz kolumny ENAME, JOB, EMPNO z tabeli EMP,
kolumnę ENAME nazwij NAZWISKO, a kolumnę JOB - STANOWISKO,
Wybierz wszystkie dane o pracownikach, których zarobki (SAL) mieszczą się w przedziale <1000,2000>.
utwórz dwa różne zapytania
Wybierz numery i nazwy departamentów, sortując według nazw departamentów
(tabela DEPT)
Wybierz wszystkie, wzajemnie różne stanowiska pracy (JOB).
Wybierz wszystkie dane o pracownikach zatrudnionych w departamentach 10 i 20
wyniki posortuj w kolejności alfabetycznej ich nazwisk.
Wybierz nazwiska i stanowiska pracy wszystkich pracowników z departamentu 20
zatrudnionych na stanowisku CLERK.
Wybierz wszystkie informacje o wszystkich pracownikach, którzy posiadają szefa.
Wybierz nazwiska pracowników, którzy mają szefa o nr 7902.
Wybierz nazwiska i roczne pensje (12*SAL) wszystkich pracowników.
Wybierz nazwiska i całkowite, roczne dochody (12*SAL+COMM) wszystkich pracowników.
W poprzednim zadaniu użyj funkcji NVL [ nvl(comm,0) ]
Wybierz nazwiska i daty zatrudnienia tych, którzy zostali zatrudnieni w 1982 roku.
Wybierz nazwiska, roczną pensję oraz prowizję tych wszystkich pracowników, którzy otrzymują prowizję.
Wyniki posortuj według malejących zarobków.
Jeśli dwóch lub więcej pracowników ma taką samą pensję, uporządkuj dane o nich według nazwisk zgodnie z alfabetem.
Spowoduj wyświetlenie następującego wyniku dla wszystkich z tablicy EMP.
Kto, gdzie, kiedy?
-------------------------------------------------------------------------------
KING pracuje na stanowisku PRESIDENT w zespole 10 od 17-NOV-81
Zawartość tabeli DEPT
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
Kolumna Opis
DEPTNO Department number — unikalny numer departamentu
DNAME Department name — nazwa departamentu
LOC Localization — lokalizacja (miasto) departamentu
Zawartość tabeli EMP
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO--------- ---------- --------- --------- -------- --------- --------- ---------
7839 KING PRESIDENT 81/11/17 5000 10
7698 BLAKE MANAGER 7839 81/05/01 2850 30
7782 CLARK MANAGER 7839 81/06/09 2450 10
7566 JONES MANAGER 7839 81/04/02 2975 20
7654 MARTIN SALESMAN 7698 81/09/28 1250 1400 30
7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30
7844 TURNER SALESMAN 7698 81/09/08 1500 0 30
7900 JAMES CLERK 7698 81/12/03 950 30
7521 WARD SALESMAN 7698 81/02/22 1250 500 30
7902 FORD ANALYST 7566 81/12/03 3000 20
7369 SMITH CLERK 7902 80/12/17 800 20
7788 SCOTT ANALYST 7566 82/12/09 3000 20
7876 ADAMS CLERK 7788 83/01/12 1100 20
7934 MILLER CLERK 7782 82/01/23 1300 10
Kolumna Opis
EMPNO Employee number — unikalny numer pracownika
ENAME Employee name — nazwisko pracownika
JOB Job — etat, stanowisko pracy
MGR Manager — numer szefa (czyli EMPNO w wierszu szefa)
HIREDATE Hire date — data zatrudnienia
SAL Salary — pensja
COMM Commission — prowizja (premia) naliczona raz w roku, dotyczy pracowników zatrudnionych na stanowisku SALESMAN
DEPTNO Department number — numer departamentu. Wartość musi odpowiadać jednemu i tylko jednemu wierszowi w tabeli DEPT
Zawartość tabeli SALGRADE
GRADE LOSAL HISAL
--------- --------- ---------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
Kolumna Opis
GRADE GRADE — Numer grupy zaszeregowania
LOSAL LOW SALARY — dolna granica widełek płacowych dla grupy zaszeregowania GRADE
HISAL HIGH SALARY — górna granica widełek
W poleceniach SQL jest obojętne, czy używamy małych czy wielkich liter, Oracle przed wykonaniem polecenia zamienia je na duże litery (z wyjątkiem literałów w apostrofach i aliasów w cudzysłowie).
W przypadku sprawdzania zawartości pola wielkość liter jest istotna
Najczęściej używane polecenia: SQL*Plus
SPOOL plik; |
wszystkie polecenia SQL do czasu wydania rozkazu SPOOL OFF będą zapisywane do pliku plik |
@plik |
uruchomienie skryptu plik |
ed |
edycja polecenia |
ed plik |
edycja pliku plik w domyślnym edytorze |
SPOOL OFF |
kończy wysyłanie danych do pliku |
CONNECT |
zmiana podłączenia do bazy |
EXIT |
wyjście z programu |
Aby zadziałało polecenie ED należy wybrać polecenie Plik.. zapisz jako.. a następnie wskazać dysk Y:\ i folder na tym dysku (Pulpit, Moje dokumenty lub inny) oraz wpisać jakąkolwiek nazwę pliku (nie jest to istotne).
Można też napisać pełną ścieżkę np.: spool Y:\pulpit\SQLcw1.txt.
SQL Ćwiczenie 1 Strona 1
z