Advertisement
olekturbo

BazyDanychLab

Apr 5th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.59 KB | None | 0 0
  1. --1.2
  2. SELECT imie FROM pracownik
  3.  
  4. --1.3
  5. SELECT imie, nazwisko, dzial FROM pracownik
  6.  
  7. --2.2
  8. SELECT nazwisko,imie
  9. FROM pracownik
  10. ORDER BY nazwisko,imie ASC
  11.  
  12. --2.3
  13. SELECT nazwisko, dzial, stanowisko FROM pracownik ORDER BY dzial ASC, stanowisko DESC
  14.  
  15. --3.2
  16. SELECT DISTINCT dzial, stanowisko FROM pracownik
  17.  
  18. --3.3
  19. SELECT DISTINCT dzial, stanowisko FROM pracownik ORDER BY dzial, stanowisko DESC
  20.  
  21. --4.2
  22. SELECT imie,nazwisko FROM pracownik WHERE stanowisko='sprzedawca'
  23.  
  24. --4.3
  25. SELECT imie,nazwisko,pensja FROM pracownik WHERE pensja>1500 ORDER BY pensja DESC
  26.  
  27. --5.2
  28. SELECT imie,nazwisko,dzial,stanowisko FROM pracownik WHERE stanowisko='kierownik' OR stanowisko='sprzedawca'
  29.  
  30. --5.3
  31. SELECT marka FROM samochod WHERE NOT marka='ford' AND NOT marka='fiat'
  32.  
  33. --6.2
  34. SELECT imie,nazwisko,data_zatr FROM pracownik WHERE imie IN ('Alicja', 'Marzena', 'Anna')
  35.  
  36. --6.3
  37. SELECT imie,nazwisko,miasto FROM klient WHERE miasto NOT IN ('Warszawa', 'Wrocław')
  38.  
  39. --7.2
  40. SELECT imie,nazwisko FROM klient WHERE nazwisko LIKE 'D%SKI'
  41.  
  42. --7.3
  43. SELECT imie,nazwisko FROM klient WHERE nazwisko LIKE '_O%' OR nazwisko LIKE '_A%'
  44.  
  45. --8.2
  46. SELECT * FROM pracownik WHERE data_zatr BETWEEN '1997-01-01' AND '1997-12-31'
  47.  
  48. --8.3
  49. SELECT marka FROM samochod WHERE przebieg BETWEEN '10000' AND '20000' OR przebieg BETWEEN '30000' AND '40000'
  50.  
  51. --9.2
  52. SELECT imie, nazwisko FROM klient WHERE nr_karty_kredyt IS NOT NULL
  53.  
  54. --9.3
  55. SELECT imie,nazwisko,COALESCE(dodatek, '0') FROM pracownik
  56.  
  57. --10.2
  58.  
  59. SELECT imie,nazwisko, 1.5*pensja AS nowa_pensja FROM pracownik
  60.  
  61. --10.3
  62.  
  63. SELECT imie,nazwisko, 0.01*(pensja+COALESCE(dodatek,0)) AS nowa_pensja FROM pracownik
  64.  
  65. --11.2
  66.  
  67. SELECT TOP 4 imie,nazwisko FROM pracownik ORDER BY nazwisko ASC
  68.  
  69. --11.3
  70.  
  71. SELECT TOP 1 * FROM wypozyczenie ORDER BY data_wyp DESC
  72.  
  73. --12.2
  74.  
  75. SELECT imie,nazwisko, DATEDIFF(day,data_zatr,GETDATE()) AS ile FROM pracownik ORDER BY ile DESC
  76.  
  77. --12.3
  78.  
  79. SELECT marka,typ,DATEDIFF(year,data_prod,GETDATE()) AS ile FROM samochod ORDER BY ile DESC
  80.  
  81. --13.2
  82.  
  83. SELECT UPPER(LEFT(imie,1)) + LOWER(SUBSTRING(imie,2,LEN(imie))) AS imie, UPPER(LEFT(nazwisko,1)) + LOWER(SUBSTRING(nazwisko,2,LEN(nazwisko))) AS nazwisko FROM pracownik
  84.  
  85. --13.3
  86.  
  87. SELECT imie,nazwisko,STUFF(nr_karty_kredyt, 5, LEN(nr_karty_kredyt), 'xxxxxx') AS nr_karty FROM klient WHERE nr_karty_kredyt IS NOT NULL
  88.  
  89. --14.2
  90.  
  91. UPDATE klient
  92.  
  93. SET imie = 'Jan', nazwisko = 'Nowak'
  94.  
  95. WHERE id_klient = 10
  96.  
  97. --14.3
  98.  
  99. UPDATE pracownik
  100.  
  101. SET pensja = pensja+100
  102.  
  103. WHERE pensja < 1500
  104.  
  105. --15.2
  106.  
  107. DELETE FROM wypozyczenie WHERE id_klient=17
  108.  
  109. --15.3
  110.  
  111. DELETE FROM samochod WHERE przebieg>60000
  112.  
  113. --16.2
  114.  
  115. INSERT INTO samochod(id_samochod,marka,typ,data_prod,kolor,poj_silnika,przebieg) VALUES
  116.  
  117. (50, 'Skoda', 'Octavia', '2012-09-01', 'Srebrny', '1896', '5000')
  118.  
  119. --16.3
  120.  
  121. INSERT INTO pracownik(id_pracownik,imie,nazwisko,data_zatr,dzial,stanowisko,pensja,dodatek,id_miejsce,telefon) VALUES
  122.  
  123. (12, 'Alojzy', 'Mikos', '2010-08-11', 'zaopatrzenie', 'magazynier', 3000, 50, 1, '501-501-501')
  124.  
  125. --17.2
  126. SELECT k.imie, k.nazwisko, w.id_samochod, w.data_wyp, w.data_odd
  127. FROM klient k INNER JOIN wypozyczenie w ON k.id_klient=w.id_klient
  128. WHERE w.data_odd IS NULL
  129. ORDER BY k.nazwisko, k.imie ASC
  130. --17.3
  131. SELECT k.imie, k.nazwisko, w.data_wyp, w.kaucja
  132. FROM klient k INNER JOIN wypozyczenie w ON k.id_klient=w.id_klient
  133. WHERE w.kaucja IS NOT NULL
  134. --18.2
  135. SELECT m.ulica, m.numer, s.marka, s.typ
  136. FROM miejsce m INNER JOIN wypozyczenie w ON m.id_miejsce=w.id_miejsca_wyp
  137. INNER JOIN samochod s ON s.id_samochod=w.id_samochod
  138. --18.3
  139. SELECT s.id_samochod, s.marka, s.typ, k.imie, k.nazwisko
  140. FROM klient k INNER JOIN wypozyczenie w ON k.id_klient=w.id_wypozyczenie
  141. INNER JOIN samochod s ON s.id_samochod=w.id_samochod
  142. ORDER BY s.id_samochod,k.nazwisko,k.imie ASC
  143. --19.2
  144. SELECT AVG(pensja) AS srednia_pensja FROM pracownik
  145. --19.3
  146. SELECT TOP 1 data_prod FROM samochod ORDER BY data_prod ASC
  147. --20.2
  148. SELECT s.marka, s.typ, COUNT(w.id_wypozyczenie) AS ilosc_wypozyczen
  149. FROM samochod s LEFT JOIN wypozyczenie w ON s.id_samochod=w.id_samochod
  150. GROUP BY s.id_samochod, s.marka, s.typ
  151. ORDER BY ilosc_wypozyczen ASC
  152. --20.3
  153. SELECT p.imie, p.nazwisko, COUNT(w.id_wypozyczenie) AS ilosc_wypozyczen
  154. FROM pracownik p LEFT JOIN wypozyczenie w ON p.id_pracownik=w.id_pracow_wyp
  155. GROUP BY p.id_pracownik, p.imie, p.nazwisko
  156. ORDER BY ilosc_wypozyczen DESC
  157. --21.2
  158. SELECT s.id_samochod, s.marka, s.typ, COUNT(w.id_wypozyczenie) AS ilosc_wypozyczen
  159. FROM samochod s INNER JOIN wypozyczenie w ON s.id_samochod=w.id_samochod
  160. GROUP BY s.id_samochod, s.marka, s.typ
  161. HAVING COUNT(w.id_wypozyczenie)>=5
  162. ORDER BY s.marka, s.typ
  163. --21.3
  164. SELECT p.imie, p.nazwisko, COUNT(w.id_wypozyczenie) AS ilosc_wypozyczen
  165. FROM pracownik p LEFT JOIN wypozyczenie w ON p.id_pracownik=w.id_pracow_odd
  166. GROUP BY p.imie, p.nazwisko, p.id_pracownik
  167. HAVING COUNT(w.id_wypozyczenie)<=20
  168. ORDER BY ilosc_wypozyczen, p.nazwisko, p.imie ASC
  169.  
  170. --22.2
  171.  
  172. SELECT imie, nazwisko, pensja FROM pracownik WHERE pensja>(SELECT AVG(pensja) FROM pracownik)
  173.  
  174. --22.3
  175.  
  176. SELECT marka, typ, data_prod FROM samochod WHERE data_prod=(SELECT MIN(data_prod) FROM samochod)
  177.  
  178. --23.2
  179.  
  180. SELECT imie, nazwisko FROM klient WHERE id_klient NOT IN (SELECT DISTINCT id_klient FROM wypozyczenie) ORDER BY nazwisko, imie ASC
  181.  
  182. --23.3
  183.  
  184. SELECT imie, nazwisko FROM pracownik WHERE id_pracownik NOT IN (SELECT DISTINCT id_pracow_wyp FROM wypozyczenie)
  185.  
  186. --24.2
  187.  
  188. SELECT TOP 1 WITH TIES k.id_klient, k.imie, k.nazwisko, COUNT(w.id_wypozyczenie) AS ilosc_wyp
  189.  
  190. FROM klient k INNER JOIN wypozyczenie w ON k.id_klient=w.id_klient
  191.  
  192. GROUP BY k.id_klient, k.imie, k.nazwisko
  193.  
  194. ORDER BY ilosc_wyp, k.nazwisko, k.imie ASC
  195.  
  196. --24.3
  197.  
  198. SELECT TOP 1 WITH TIES p.id_pracownik, p.imie, p.nazwisko, COUNT(w.id_pracow_wyp) AS ilosc_wyp
  199.  
  200. FROM pracownik p INNER JOIN wypozyczenie w ON p.id_pracownik=w.id_pracow_wyp
  201.  
  202. GROUP BY p.id_pracownik, p.imie, p.nazwisko
  203.  
  204. ORDER BY ilosc_wyp DESC, nazwisko, imie ASC
  205.  
  206. --25.2
  207.  
  208. UPDATE pracownik SET dodatek=dodatek+10 WHERE id_pracownik IN (SELECT DISTINCT id_pracow_wyp FROM wypozyczenie WHERE MONTH(data_wyp)=5)
  209.  
  210. --25.3
  211.  
  212. UPDATE pracownik SET pensja=pensja-0.05*pensja WHERE id_pracownik NOT IN (SELECT DISTINCT id_pracow_wyp FROM wypozyczenie WHERE YEAR(data_wyp)=1999)
  213.  
  214. --26.2
  215.  
  216. DELETE FROM samochod WHERE id_samochod NOT IN (SELECT DISTINCT id_samochod FROM wypozyczenie)
  217.  
  218. --26.3
  219.  
  220. DELETE FROM pracownik WHERE id_pracownik NOT IN (SELECT DISTINCT id_pracow_wyp FROM wypozyczenie)
  221.  
  222. --27.2
  223.  
  224. SELECT imie, nazwisko FROM klient
  225.  
  226. INTERSECT
  227.  
  228. SELECT imie, nazwisko FROM pracownik
  229.  
  230. --27.3
  231.  
  232. SELECT imie, nazwisko FROM klient
  233.  
  234. EXCEPT
  235.  
  236. SELECT imie, nazwisko FROM pracownik
  237.  
  238. ORDER BY nazwisko, imie ASC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement