Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 7.74 KB | None | 0 0
  1. [Ugnjezdeni upiti]
  2. [1.] Prikazati ime i prezime radnika koji je šef odeljenja na Banovom Brdu
  3.  
  4. use preduzece;
  5. SELECT ime,prezime
  6. FROM radnik
  7. WHERE id_radnika IN (SELECT sef_odeljenja FROM odeljenje WHERE mesto="Banovo Brdo")
  8. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  9. [Ugnjezdeni upiti-any,all]
  10. [2.] Prikazati imana projekata na kojima ne radi ni jedan radnik
  11.  
  12. use preduzece;
  13. SELECT ime,proj
  14. FROM projekat
  15. WHERE id_projekta NOT IN (SELECT id_projekta
  16.               FROM ucesce)
  17. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  18. [3.] Prikazati sve podatke o radnicima koji imaju isti posao kao bilo koji radnik iz odeljenja 20. Iz prikaza isključiti radnike odeljenja 20
  19.  
  20. use preduzece;
  21. SELECT *
  22. FROM radnik
  23. WHERE posao ANY (SELECT posao FROM radnik WHERE id_odeljenja=20)
  24. AND id_odeljenja<>20
  25. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  26. [4.] Prikazati podatke o radnicima koji su se zaposlili pre svih radnika iz odeljenja 20
  27.  
  28. use preduzece;
  29. SELECT *
  30. FROM radnik
  31. WHERE dat_zap< ALL(SELECT dat_zap FROM radnik WHERE id_odeljenja=20)
  32. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  33. [Ugnjezdeni upiti-vise ugnjezdenja]
  34. [5.] Prikazati imena projekata na kojima rade radnici čija je plata veća od 2000
  35.  
  36. use preduzece;
  37. SELECT ime_proj
  38. FROM projekat
  39. WHERE id_projekta IN (SELECT id_projekta
  40.             FROM ucesce
  41.             WHERE id_radnika IN (SELECT id_radnika
  42.                          FROM radnik
  43.                          WHERE plata>2000))
  44. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  45. [6.] Prikazati imena i kvalifikacije radnika koji rade na projektu plasman
  46. 2,6,8,12,17 dodatno proveriti, jer su radjeni za domaci
  47. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  48. use preduzece;
  49. SELECT ime,kvalif
  50. FROM radnik
  51. WHERE id_radnika IN (SELECT id_radnika
  52.              FROM ucesce
  53.              WHERE id_projekta IN (SELECT id_projekta
  54.                        FROM projekat
  55.                        WHERE ime_proj="Plasman"))
  56. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  57. [7.] Prikazati identifikacioni broj, ime i prezime radnika koji rade na istim projektima kao Mirjana Dimić. Iz prikaza isključiti Mirjanu Dimić. Rezultate sortirati po imenu radnika
  58.  
  59. use preduzece;
  60. SELECT id_radnika,ime,prezime
  61. FROM radnik
  62. WHERE id_radnika IN (SELECT id_radnika
  63.              FROM ucesce
  64.              WHERE id_projekta IN(SELECT id_projekta
  65.                       FROM ucesce
  66.                       WHERE id_radnika iN (SELECT id_radnika
  67.                                    FROM radnik
  68.                                    WHERE ime="MIrjana" and prezime="Dimic")))
  69. AND ime=<>"Mirjana" and prezime<>"Dimic"
  70. ORDER BY ime
  71. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  72. [8.] Prikazati imena radnika koji obavljaju isti posao kao Andrija
  73.  
  74. use preduzece;
  75. SELECT ime
  76. FROM radnik
  77. WHERE posao IN (SELECT posao
  78.         FROM radnik
  79.         WHERE ime="Andrija")
  80. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  81. [Ugnjezdeni upiti nad istom tabelom]
  82. [9.] Prikazati imena i poslove radnika koji su se zaposlili posle radnika Buhe Ivana
  83.  
  84. use preduzece;
  85. SELECET ime,posao
  86. FROM radnik
  87. WHERE dat_zap>(SELECT dat_zap
  88.            FROM radnik
  89.            WHERE ime="Ivan" AND prezime="Buha")
  90. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  91. [10.] Prikazati id radnika, ime i prezime za radnike čija je kvalifikacija VSS i zaposlili su se 2003 godine
  92.  
  93. use preduzece;
  94. SELECT id_radnik,ime,prezime
  95. FROM radnik
  96. WHERE (kvalif,dat_zap) IN (SELECT kvalif, dat_zap
  97.                FROM radnik
  98.                WHERE kvalif="VSS" AND YEAR(dat_zap)=2003)
  99. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  100. [Ugnjezdeni i agregatne funkcije]
  101. [11.] Prikazati imena i prezimena radnika čija je plata veća od prosečnih primanja analitičara
  102.  
  103. use preduzece;
  104. SELECT ime,prezime
  105. FROM radnik
  106. WHERE plata > (SELECT AVG(plata+IFNULL(premija,0))
  107.            FROM radnik
  108.            WHERE posao="analiticar")
  109. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  110. [12.] Prikazati imena i prezimena radnika čija su ukupna primanja veća od prosečne plate u odeljenju 30
  111.  
  112.  
  113. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  114. [13.] Prikazati id odeljenja i minimalna primanja u njima za odeljenja u kojima su minimalna primanja manja od prosečne plate u preduzeću
  115.  
  116. use preduzece;
  117. SELECT id_odeljenja, MIN(plata+IFNULL(premija,0))
  118. FROM radnik
  119. GROUP BY id_odeljenja
  120. HAVING MIN(plata+IFNULL(premija,0))<(SELECT AVG(plata) FROM radnik)
  121.  
  122. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  123. [Ugnjezdeni (SELF JOIN)]
  124. [14.] Prikazati ime Svetlaninog rukovodioca
  125.  
  126. use preduzece;
  127. SELECT ime
  128. FROM radnik
  129. WHERE id_radnika IN (SELECT rukovodilac
  130.              FROM radnik
  131.              WHERE ime="Svetlana")
  132. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  133. [15.] Prikazati imena radnika koji imaju istog rukovodioca kao i Svetlana
  134.  
  135. use preduzece;
  136. SELECT ime
  137. FROM radnik
  138. WHERE rukovodilac IN (SELECT rukovodilac
  139.               FROM radnik
  140.               WHERE ime="Svetlana")
  141. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  142. [Kombinacija JOIN i ugnjezdenja]
  143. [16.] Prikazati ime, prezime, kvalifikaciju,platu i mesto u kome radnik radi za radnike koji nemaju kvalifikaciju kao radnik čiji je id 5780.
  144.  
  145. use preduzece;
  146. SELECT ime,prezime,kvalif,plata,mesto
  147. FROM radnik INNER JOIN odeljenje ON radnik.id_oreljenja=odeljenje.id_odeljenja
  148. WHERE kvalif NOT IN (SELECT kvalif
  149.              FROM radnik
  150.              WHERE id_radnika=5780)
  151. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  152. [17.] Prikazati imena i id radnika, kao i imena  projkata na kojima rade samo za radnike koji su rukovodioci. Rezultate sortirati po imenima u rastućem redosledu
  153.  
  154. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  155. 2,6,8,12,17 za domaci
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement