Podzapytania skorelowane w języku SQL na przykładzie DBMS MySQL - ćwiczenia praktyczne

1. Z bazy danych pobrać nazwy departamentów, w których nie pracuje ani jeden pracownik. Zasosować operator EXISTS.

INSERT INTO dept VALUES (51, 'Administracja', 2);

SELECT D.id AS id, D.name AS nazwa
FROM dept D
WHERE NOT EXISTS (SELECT 1 FROM emp E WHERE E.dept_id=D.id LIMIT 1);

2-1

2. Z bazy danych pobrać następujące dane: nazwę departamentu, imię, nazwisko, wynagrodzenie pracownika/pracowników, którzy mają najwyższe wynagrodzenie w departamencie, w którym pracują. Dane posortować rosnąco wg nazw departamentów, nazwisk i imion pracowników.

SELECT E.first_name AS Imie, E.last_name AS Nazwisko, E.salary AS Wynagrodzenie, E.title AS Stanowisko, CONCAT(D.id, ' ' , D.name) AS Departament
FROM emp E, dept D
WHERE E.dept_id=D.id AND E.salary=(SELECT MAX(Ew.salary) FROM emp Ew WHERE Ew.dept_id=E.dept_id)
ORDER BY D.id, E.last_name, E.first_name;

2 myśli nt. „Podzapytania skorelowane w języku SQL na przykładzie DBMS MySQL - ćwiczenia praktyczne

  1. SELECT E.first_name AS Imie, E.last_name AS Nazwisko, E.salary AS Wynagrodzenie, E.title AS Stanowisko, CONCAT(D.id, ' ' , D.name) AS Departament
    FROM emp E, dept D
    WHERE E.dept_id=D.id AND E.salary=(SELECT MAX(Ew.salary) FROM emp Ew WHERE Ew.dept_id=E.dept_id)
    ORDER BY D.id, E.last_name, E.first_name;

Skomentuj SHZ Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.