Dodatak br.2.: Zadaci za vežbu
Zadaci su poređani od lakših ka težim.
Osnovni zadaci
Zadatak 1: Obrisati sve redove iz tabele Proizvodi.
Zadatak 2: Obrisati sve redove iz tabele Zaposleni.
Zadatak 3: Obrisati sve redove iz tabele Studenti.
Zadatak 4: Obrisati proizvod Hleb.
Zadatak 5: Obrisati proizvod Mleko.
Zadatak 6: Obrisati proizvod sa ID = 3.
Zadatak 7: Obrisati zaposlenog Ivan.
Zadatak 8: Obrisati zaposlenog sa IDZaposlenog = 2.
Zadatak 9: Obrisati studenta Marko.
Zadatak 10: Obrisati studenta sa IDStudenta = 5.
Zadaci srednje težine
Zadatak 11: Obrisati sve proizvode čija je cena manja od 100.
Zadatak 12: Obrisati sve proizvode čija je cena veća od 200.
Zadatak 13: Obrisati sve zaposlene čija je plata manja od 50000.
Zadatak 14: Obrisati sve zaposlene čija je plata veća od 55000.
Zadatak 15: Obrisati sve studente iz Novi Sad.
Zadatak 16: Obrisati sve studente iz Beograd.
Zadatak 17: Obrisati proizvode čija je cena između 100 i 200.
Zadatak 18: Obrisati zaposlene čija je plata između 48000 i 52000.
Zadatak 19: Obrisati studente čiji ID je veći od 3.
Zadatak 20: Obrisati proizvode čiji naziv počinje slovom M.
Napredniji zadaci
Zadatak 21: Obrisati proizvode čija je cena manja od 100 ili veća od 300.
Zadatak 22: Obrisati zaposlene koji imaju platu manju od 50000 i ime Ivan.
Zadatak 23: Obrisati studente iz Novi Sad ili Subotica.
Zadatak 24: Obrisati proizvode koji nisu skuplji od 150.
Zadatak 25: Obrisati zaposlene koji nemaju platu veću od 52000.
Zadatak 26: Obrisati sve proizvode osim onog sa ID = 1.
Zadatak 27: Obrisati sve zaposlene osim onih čija je plata veća od 50000.
Zadatak 28: Obrisati sve studente osim onih iz Beograd.
Zadatak 29: Obrisati proizvode čija cena nije između 100 i 300.
Zadatak 30: Obrisati zaposlene čiji ID nije 1 ili 2.
Rešenja (samo nekih zadataka)
Zadatak 4
DELETE FROM Proizvodi
WHERE Naziv='Hleb'
Zadatak 11
DELETE FROM Proizvodi
WHERE Cena < 100
Zadatak 17
DELETE FROM Proizvodi
WHERE Cena BETWEEN 100 AND 200
Zadatak 20
DELETE FROM Proizvodi
WHERE Naziv LIKE 'M%'
Zadatak 21
DELETE FROM Proizvodi
WHERE Cena < 100 OR Cena > 300
Zadatak 26
DELETE FROM Proizvodi
WHERE ID <> 1
Zadatak 30
DELETE FROM Zaposleni
WHERE IDZaposlenog NOT IN (1,2)
Napomena
DELETE je jedna od najopasnijih SQL naredbi, jer:
-
briše podatke trajno
-
greške se teško ispravljaju
Zato uvek treba da se radi:
✔ prvo SELECT
✔ proveri uslov
✔ tek onda DELETE
Kombinovani zadaci (INSERT + UPDATE + DELETE)
Za zadatke u nastavku se koristi tabela Proizvodi
Zadatak 1: Dodati novi proizvod: ID = 7, Naziv = Čokolada, Cena = 200. Zatim povećati cenu za 20. Na kraju obrisati taj proizvod. Rešenje
INSERT INTO Proizvodi VALUES (7,'Čokolada',200)
UPDATE Proizvodi
SET Cena = Cena + 20
WHERE ID = 7
DELETE FROM Proizvodi
WHERE ID = 7
Zadatak 2: Dodati proizvod Sok (ID=8, Cena=150). Smanjiti cenu za 30. Obrisati ako je cena manja od 130
Zadatak 3: Dodati proizvod Kafa. Povećati cenu za 10%. Obrisati ako je cena veća od 300
Zadatak 4: Dodati 2 proizvoda. Promeniti im nazive. Obrisati jedan od njih
Zadatak 5: Dodati proizvod toblerone. Povećati cenu svih proizvoda za 5. Obrisati proizvode jeftinije od 100
Malkice realni scenariji:
Scenario 1 - PRODAVNICA
Rad sa tabelom Proizvodi
Zadaci
-
Dodati 3 nova proizvoda
-
Povećati cenu svih proizvoda za 10
-
Smanjiti cenu proizvoda skupljih od 300
-
Obriši proizvode jeftinije od 80
Scenario 2 – ZAPOSLENI
Tabela Zaposleni
Zadaci
-
Dodati novog zaposlenog
-
Povećati platu svim zaposlenima za 2000
-
Povećati platu zaposlenima ispod 50000
-
Obrisati zaposlenog po ID
-
Obrisati zaposlene sa platom manjom od 45000
Scenario 3 – STUDENTI
Tabela Studenti
Zadaci
-
Dodati 3 studenta
-
Promeniti grad jednog studenta
-
Promeniti grad svih studenata iz Novi Sad
-
Obrisati studente iz određenog grada
-
Obrisati sve studente