lzse

Zadanie FIRMA

Nov 29th, 2020 (edited)
455
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1.-------------------------------------------------------------------------------
  2.  
  3. -- Napisz kwerendę wypisującą listę imion i nazwisk wszystkich pracowników
  4.  
  5. SELECT
  6.     `imie`, `nazwisko`
  7. FROM
  8.     `osoba` o
  9.         INNER JOIN
  10.     `pracownicy` p
  11. WHERE
  12.     p.id_osoby = o.id_osoby;
  13.  
  14. 2.-------------------------------------------------------------------------------
  15. Napisać kwerendę wypisującą pracowników od A do Z i posortować po nazwisku
  16.  
  17. SELECT
  18.     o.imie, o.nazwisko
  19. FROM
  20.     osoba o
  21.         INNER JOIN
  22.     pracownicy p
  23. WHERE
  24.     p.id_osoby = o.id_osoby
  25. ORDER BY o.nazwisko;
  26.  
  27. 3.-------------------------------------------------------------------------------
  28. Napisać kwerendę wypisującą pracowników pogrupowanych po nazwie firmy
  29.  
  30.  
  31.  
  32. SELECT
  33.     o.nazwisko 'nazwisko pracownika', f.nazwa
  34. FROM
  35.     osoba o
  36.         INNER JOIN
  37.     pracownicy p ON p.id_osoby = o.id_osoby
  38.         INNER JOIN
  39.     firma f ON f.id_firmy = p.id_firmy
  40. ORDER BY 2 , 1;
  41.    
  42.  
  43.  
  44. 4.-------------------------------------------------------------------------------
  45. Napisać kwerendę wypisującą liczbę firm w bazie
  46.     SELECT
  47.     COUNT(*) 'liczba firm'
  48. FROM
  49.     firma;
  50.  
  51. 5.--------------------------------------------------------------------------------
  52. Napisać kwerendę wyświetlającą liczbę pracowników w  danej firmie.
  53. SELECT
  54.     f.nazwa, COUNT(id_pracownika) liczba_pracowników
  55. FROM
  56.     pracownicy p
  57.         INNER JOIN
  58.     firma f ON p.id_firmy = f.id_firmy
  59. GROUP BY p.id_firmy
  60. ORDER BY 1;
  61.  
  62. 6.--------------------------------------------------------------------------------
  63. Napisz kwerendę podającą top 10 miast z których pochodzi najwięcej klientów
  64. SELECT
  65.     m.nazwa, COUNT(*) występowanie
  66. FROM
  67.     osoba o
  68.         INNER JOIN
  69.     miasto m ON o.id_miasta = m.id_miasta
  70. GROUP BY o.id_miasta
  71. ORDER BY występowanie DESC
  72. LIMIT 10;
  73.  
  74. 7.-----------------------------------------------------------------------------------------------------
  75. Napisz kwerendę podającą średnie wynagrodzenie pracowników per firma per departament
  76. SELECT
  77.     f.nazwa, d.nazwa, AVG(wynagrodzenie) średnie_wynagrodzenie
  78. FROM
  79.     `pracownicy` p
  80.         INNER JOIN
  81.     firma f ON p.id_firmy = f.id_firmy
  82.         INNER JOIN
  83.     departament d ON d.id_departamentu = p.id_departamentu
  84. GROUP BY p.id_firmy , p.id_departamentu
  85. ORDER BY f.nazwa , d.nazwa;
  86.  
  87.  
  88.  
  89. ------------------------------------------------------------------------------------------------
  90. /*
  91. H) napisz kwerendę podającą listę sumą liczby klientów per firma
  92.  
  93. */
  94.  
  95.  
  96.  
  97. SELECT
  98.     pracownicy.id_firmy, firma.nazwa, COUNT(klient.id_klienta) 'liczba_klientów per fima'
  99. FROM
  100.     klient
  101.         INNER JOIN
  102.     pracownicy ON klient.id_osoby = pracownicy.id_osoby
  103.         INNER JOIN
  104.     firma ON pracownicy.id_firmy = firma.id_firmy
  105. GROUP BY id_firmy
  106. ORDER BY 3 DESC;
  107.  
  108.  
  109.  
  110. ---------------------------------------------------------------------------------------
  111.  
  112.  I) napisz kwerendę podającą max wynagrodzenie pracowników per firma per departament posortowanych po nazwisku alfabetycznie
  113.  
  114.  
  115. SELECT
  116.     osoba.nazwisko,
  117.     osoba.imie,
  118.     firma.nazwa 'nazwa firmy',
  119.     departament.nazwa 'nazwa departamentu',
  120.     Max (pracownicy.wynagrodzenie) 'max wynagrodzenie'
  121. FROM
  122.     klient
  123.         INNER JOIN
  124.     pracownicy ON klient.id_osoby = pracownicy.id_osoby
  125.         INNER JOIN
  126.     firma ON pracownicy.id_firmy = firma.id_firmy
  127.         INNER JOIN
  128.     osoba ON osoba.id_osoby = pracownicy.id_osoby
  129.         INNER JOIN
  130.     departament ON departament.id_departamentu = pracownicy.id_departamentu
  131. GROUP BY pracownicy.id_firmy , departament.id_departamentu
  132.  
  133.  
  134. ---------------------------------------------------------------------------------------------------
  135. -- J(1)) Napisać kwerendę wyświetlającą średnią ilość produktów kupionych przez klienta w danej firmie
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146. -- J(2)) Napisać kwerendę wyświetlającą ilość produktów kupionych przez klientów w danej firmie
  147.  
  148. SELECT
  149.     firma.nazwa,
  150.     COUNT(`klient-produkt`.id_produkt) 'ilość produktów'
  151. FROM
  152.     `klient-produkt`
  153.         INNER JOIN
  154.     produkt ON produkt.id_produktu = `klient-produkt`.id_produkt
  155.         INNER JOIN
  156.     firma ON produkt.id_firmy = firma.id_firmy
  157. GROUP BY firma.id_firmy
  158. ;
  159.  
  160. --------------------------------------------------------------------------------------------------------
  161. K)  Napisz kwerendę podającą średnią liczbę kupionych produktów przez klientów pogrupowanych per firma posortowanych w kolejności od najmniejszej do największej firmy oraz ograniczonych do pierwszych pięciu rekordów
RAW Paste Data