Advertisement
Guest User

Untitled

a guest
Oct 14th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TABLE producenci(
  2.     id_producenta INT NOT NULL,
  3.     nazwa_producenta VARCHAR(64) NOT NULL,
  4.     mail VARCHAR(64) NOT NULL,
  5.     telefon VARCHAR(13),
  6.     PRIMARY KEY(id_producenta,nazwa_producenta)
  7. );
  8.  
  9. CREATE TABLE produkty(
  10.     id_produktu INT PRIMARY KEY,
  11.     nazwa_produktu VARCHAR(64) NOT NULL,
  12.     cena INT NOT NULL,
  13.     id_producenta INT NOT NULL,
  14.     nazwa_producenta VARCHAR(64) NOT NULL,
  15.     FOREIGN KEY (id_producenta,nazwa_producenta) REFERENCES producenci(id_producenta,nazwa_producenta)
  16. );
  17.  
  18. CREATE TABLE zamowienia(
  19.     id_zamowienia INT PRIMARY KEY,
  20.     id_produktu INT NOT NULL,
  21.     id_producenta INT NOT NULL,
  22.     nazwa_producenta VARCHAR(64) NOT NULL,
  23.     ilosc INT NOT NULL,
  24.     data DATE NOT NULL,
  25.     FOREIGN KEY(id_producenta,nazwa_producenta) REFERENCES producenci(id_producenta,nazwa_producenta),
  26.     FOREIGN KEY(id_produktu) REFERENCES produkty(id_produktu)
  27. );
  28.  
  29. INSERT INTO producenci VALUES
  30. (1,'Producent1','producent1@hotmail.com','123456789'),
  31. (2,'Producent2','producent2@hotmail.com','234567891'),
  32. (3,'Producent3','producent3@hotmail.com','345678912'),
  33. (4,'Producent4','producent4@hotmail.com','567891234'),
  34. (5,'Producent5','producent5@hotmail.com','678912345'),
  35. (6,'Producent6','producent6@hotmail.com','789123456'),
  36. (7,'Producent7','producent7@hotmail.com','111222333'),
  37. (8,'Producent8','producent8@hotmail.com','222333444'),
  38. (9,'Producent9','producent9@hotmail.com','555666777'),
  39. (10,'Producent10','producent10@hotmail.com','333444666');
  40.  
  41. INSERT INTO produkty VALUES
  42. (1,'Produkt1',1190,1,'Producent1'),
  43. (2,'Produkt2',1280,2,'Producent2'),
  44. (3,'Produkt3',1370,3,'Producent3'),
  45. (4,'Produkt4',1460,4,'Producent4'),
  46. (5,'Produkt5',1550,5,'Producent5'),
  47. (6,'Produkt6',1640,6,'Producent6'),
  48. (7,'Produkt7',1730,7,'Producent7'),
  49. (8,'Produkt8',1820,8,'Producent8'),
  50. (9,'Produkt9',1910,9,'Producent9'),
  51. (10,'Produkt9',2020,10,'Producent10');
  52.  
  53. INSERT INTO zamowienia VALUES
  54. (1,1,1,'Producent1',11,'2017-01-01'),
  55. (2,2,2,'Producent2',12,'2017-02-01'),
  56. (3,3,3,'Producent3',13,'2017-03-01'),
  57. (4,4,4,'Producent4',14,'2017-04-01'),
  58. (5,5,5,'Producent5',15,'2017-05-01'),
  59. (6,6,6,'Producent6',16,'2017-06-01'),
  60. (7,7,7,'Producent7',17,'2017-07-01'),
  61. (8,8,8,'Producent8',18,'2017-08-01'),
  62. (9,9,9,'Producent9',19,'2017-09-01'),
  63. (10,10,10,'Producent10',20,'2017-09-01');
  64.  
  65. SELECT * FROM produkty,producenci;
  66.  
  67. SELECT *
  68. FROM produkty
  69.     LEFT JOIN producenci ON producenci.id_producenta = produkty.id_produktu;
  70.  
  71. SELECT zamowienia.nazwa_producenta,SUM(ilosc) AS liczba_zamowien, (ilosc * produkty.cena) AS cena
  72. FROM zamowienia
  73.     LEFT JOIN produkty ON produkty.id_produktu = zamowienia.id_zamowienia
  74. GROUP BY nazwa_producenta;
  75.  
  76. SELECT produkty.nazwa_produktu, ilosc
  77. FROM zamowienia
  78.     LEFT JOIN produkty ON produkty.id_produktu = zamowienia.id_produktu;
  79.  
  80. SELECT *
  81. FROM produkty
  82.     NATURAL JOIN zamowienia;
  83.  
  84. SELECT zamowienia.nazwa_producenta, produkty.nazwa_produktu, ilosc
  85. FROM zamowienia
  86.     LEFT JOIN produkty ON produkty.id_produktu = zamowienia.id_produktu
  87. WHERE (ilosc * produkty.cena) > 10000000;
  88.  
  89. SELECT LEFT(produkty.nazwa_produktu,1),MAX(zamowienia.ilosc)
  90. FROM zamowienia
  91.     LEFT JOIN produkty ON produkty.id_produktu = zamowienia.id_produktu;
  92.  
  93. SELECT 'Produkt '
  94.     || upper(produkty.nazwa_produktu) || ' którego procudente jest '
  95.     || upper(zamowienia.nazwa_producenta) || ' zamówiono '
  96.     || zamowienia.ilosc || ' razy.' AS opis
  97. FROM zamowienia
  98.     JOIN produkty ON produkty.id_produktu = zamowienia.id_produktu
  99. ORDER BY zamowienia.ilosc DESC;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement