Poziom zaawansowany

Zadanie 3

Korzystając z tabel stworzonych w Zadaniu 1:

  1. Stwórzmy nowy dział – IT. Dwa stanowiska – Administrator (ID działu – 500) oraz Programista (ID działu – 550). Płaca podstawowa dla obu 3500.
  2. Nowy dział trzeba „zaludnić”. Administratorem będzie Andrzej Szyszka (id 12, zatrudniony 5 listopada 2015, urodzony 10 września 1973, nadal pracuje, telefon 667667667, premia 500). Programistą zaś został Adrian Klon (id 13, zatrudniony 2 listopada 2015, urodzony 14 marca 1984, nadal pracuje, telefon 665665665, premia 700).
  3. Administratorowi przypisz wolny samochód, jeśli taki jest.
  4. Nowa polityka firmy mówi, że nikt nie może dostawać premii niższej niż 350. Uaktualnij dane tak, by były zgodne z tą polityką.
  5. Tabela Flota. Każdemu samochodowi przypisz odpowiadający mu numer pracownika (id_prac).

 

Rozwiązanie

 

  1. INSERT ALL

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES (500, 'IT', 'Administrator', 3500)

INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(550, 'IT', 'Programista', 3500)

SELECT * FROM dual;

 

  1. INSERT ALL

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (12, 'Andrzej', 'Szyszka', 500, null, 500, '2015-11-05′, '1973-09-10′, null, '667667667′)

INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)

VALUES (13, 'Adrian', 'Klon', 550, null, 700, '2015-11-02′, '1984-03-14′, null, '665665665′)

SELECT * FROM dual;

 

  1. Najpierw sprawdzamy, czy mamy na stanie wolne auto:

SELECT *

FROM Flota

WHERE id_auta not in (SELECT id_auta FROM Pracownicy WHERE id_auta is not null);

Mamy jedno wolne auto, więc możemy je przypisać Adminowi:

UPDATE Pracownicy

SET id_auta = '9′

WHERE id_dzialu = '500′;

 

 

  1. UPDATE Pracownicy

SET premia = 350

WHERE premia < 350;

 

 

  1. UPDATE Flota

SET id_prac = 1 WHERE id_auta = 12;

UPDATE Flota

SET id_prac = 2 WHERE id_auta = 11;

UPDATE Flota

SET id_prac = 5 WHERE id_auta = 10;

UPDATE Flota

SET id_prac = 12 WHERE id_auta = 9;

UPDATE Flota

SET id_prac = 7 WHERE id_auta = 8;

UPDATE Flota

SET id_prac = 6 WHERE id_auta = 7;

[collapse]

Alexandretta

Kobieta gracz, która wie czego chce i dąży zawsze do tego by osiągnąć swój cel. Po godzinach pracy, z zapałem i piekielnymi ognikami w oczach biega po lochach i tłucze bogu ducha winne zombie i inne szkielety. Miłośniczka wszelkiej maści cRPG z wielką ilością współczynników, w których czuje się najlepiej. Notoryczne problemy z wyborem klasy i rasy bo wszystko jest fajne... W chwilach zwątpienia zatraca się przy dźwiękach mieczy, roztrzaskiwanych tarcz i okrzyków bojowych, słuchając wiking metalu z zimnej, niegościnnej, odległej Skandynawii. Czasem zdarzy jej się pograć w jakąś strategię bądź nawet w FPP, ale tylko na easy, żeby nie psuć sobie niepotrzebnie nerwów.

Related Articles

Back to top button