Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by asdf ( 15 years ago )
1. Wyświetl listę przedstawicieli handlowych (Sales Representative) wraz z nazwami departamentów, w których
pracują.
SELECT
first_name, last_name, department_name, job_id
FROM
employees e,
departments d
WHERE
e.job_id = 'SA_REP'
______________________
2. Wyświetl ilość departamentów (pełna nazwa) w każdym z krajów
SELECT
country_name,
count(department_name)
FROM
departments d,
locations l,
countries c
WHERE
d.location_id = l.location_id AND
l.country_id = c.country_id
GROUP BY
country_name
__________________________
3. Wyświetl informacje o historii zatrudnienia zawierającą: imię i nazwisko pracownika, data zatrudnienia i
zwolnienia na danym stanowisku, stanowiska (pełna nazwa).
SELECT
e.first_name,
e.last_name,
j.start_date,
j.end_date,
jo.job_title
FROM
employees e,
job_history j,
jobs jo
WHERE
e.employee_id = j.employee_id AND
e.job_id = jo.job_id
_____________________________________
4. Wyświetl pracowników (imię, nazwisko) oraz miasto oraz kraj (pełna nazwa) wszystkich pracowników
zatrudnionych w kraju, którego pełna nazwa zaczyna się na literę U
SELECT
e.first_name,
e.last_name,
l.city,
c.country_name
FROM
employees e,
departments d,
locations l,
countries c
WHERE
e.department_id = d.department_id AND
d.location_id = l.location_id AND
l.country_id = c.country_id AND
c.country_name LIKE 'U%'
___________________________________
5. Wyświetl tabelę z następującymi informacjami: imię i nazwisko pracownika, stanowisko pracy (pełna nazwa),
departament (pełna nazwa), miasto, kraj (pełna nazwa), region (pełna nazwa).
SELECT
e.first_name,
e.last_name,
j.job_title,
d.department_name,
l.city,
c.country_name,
r.region_name
FROM
employees e,
jobs j,
departments d,
locations l,
countries c,
regions r
WHERE
e.job_id = j.job_id AND
e.department_id = d.department_id AND
d.location_id = l.location_id AND
l.country_id = c.country_id
_______________________________________
6. Wyświetl listę departamentów (nazwa) wraz z ilością pracowników w nich zatrudnionych
SELECT
d.department_name,
count(e.department_id)
FROM
employees e,
departments d
WHERE
d.department_id = e.department_id
GROUP BY
d.department_name
_____________________________________________
7. Wyświetl listę pracowników (imiona i nazwiska) wraz z imieniem i nazwiskiem ich managera. Jeżeli
pracownik nie ma managera w miejscu jego imienia i nazwiska powinien się wyświetlić napis „brak"
SELECT
e1.first_name,
e1.last_name,
decode(e2.last_name, null, 'brak', e2.first_name || ' ' || e2.last_name)
FROM
employees e1
LEFT OUTER JOIN
employees e2
ON
e1.manager_id = e2.employee_idt
____________________________
8. Wyświetl średnie zarobki na każdym stanowisku pracy (stanowiska podane pełną nazwą)
SELECT
j.job_title,
AVG(e.salary)
FROM
employees e,
jobs j
WHERE
j.job_id = e.job_id
GROUP BY
j.job_title
___________________________________
9. Wyświetl najmniejsze i największe zarobki (zaokrąglone do dwóch miejsc po przecinku) w każdym kraju
(pełne nazwy)
SELECT
ROUND(MAX(e.salary),2),
ROUND(MIN(e.salary),2),
c.country_name
FROM
employees e,
departments d,
locations l,
countries c
WHERE
e.department_id = d.department_id AND
d.location_id = l.location_id AND
l.country_id = c.country_id
GROUP BY
c.country_name
_______________________________________
10. Wyświetl następującą listę: lokalizacja (nazwa miasta), stanowisko pracy (pełna nazwa) ilość zatrudnionych
pracowników.
SELECT
l.city,
j.job_title,
count(e.employee_id)
FROM
jobs j,
employees e,
departments d,
locations l
WHERE
j.job_id = e.job_id AND
e.department_id = d.department_id AND
d.location_id = l.location_id
GROUP BY
l.city,
j.job_title
_______________________
11. Wyświetl imiona i nazwiska pracowników zatrudnionych później niż „Davies"
SELECT
e.first_name,
e.last_name,
e.hire_date
FROM
employees e
WHERE
e.hire_date > (SELECT e2.hire_date FROM employees e2 WHERE e2.last_name LIKE 'Davies')
______________________________________
12. Wyświetl parami wszystkich pracowników (podaj ich nazwiska) zatrudnionych w tym samym departamencie
wg. poniższego przykładu
SELECT
e.department_id,
e.last_name,
e2.last_name
FROM
employees e,
employees e2
WHERE
e.department_id = e2.department_id AND
e.employee_id <> e2.employee_id
Revise this Paste