Guest User

Untitled

a guest
Aug 20th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. DROP database SP;
  2. CREATE DATABASE SP;
  3. USE SP;
  4.  
  5. CREATE TABLE supplier(
  6. sno varchar(20) NOT NULL PRIMARY KEY,
  7. sname varchar(30),
  8. city varchar(30),
  9. phone varchar(10),
  10. email varchar(30)
  11. );
  12.  
  13. CREATE TABLE parts(
  14. pno varchar(20) NOT NULL PRIMARY KEY,
  15. pname varchar(30),
  16. weight int,
  17. color varchar(30)
  18. );
  19.  
  20. CREATE TABLE sp(
  21. sno varchar(20),
  22. pno varchar(30),
  23. qty int,
  24. PRIMARY KEY (sno, pno),
  25. CONSTRAINT FK_sno FOREIGN KEY (sno) REFERENCES
  26. supplier(sno),
  27. CONSTRAINT FK_pno FOREIGN KEY (pno) REFERENCES
  28. parts(pno)
  29. );
  30.  
  31. ALTER TABLE parts ADD dom DATE;
  32.  
  33. ALTER TABLE supplier ADD dob DATE;
  34.  
  35. ALTER TABLE sp ADD dos DATE;
  36.  
  37.  
  38. INSERT INTO supplier VALUES('s101', 'saga', 'CHN', '9999999999', 'asd@gmail.com', '1969-01-01');
  39. INSERT INTO supplier VALUES('s102', 'nipo', 'CHN', '9999999999', 'asd@gmail.com', '2012-01-01');
  40. INSERT INTO supplier VALUES('s103', 'tipo', 'CHN', '9999999999', 'asd@gmail.com', '2015-01-01');
  41. INSERT INTO supplier VALUES('s104', 'poiuy', 'BOM', '9999999999', 'asd@gmail.com', '2015-01-01');
  42. INSERT INTO supplier VALUES('s105', 'werfg', 'BOM', '9999999999', 'asd@gmail.com', '2015-01-01');
  43. INSERT INTO supplier VALUES('s123', 'wiyy', 'BOM', '9999999999', 'asd@gmail.com', '2015-01-01');
  44.  
  45. INSERT INTO parts VALUES('p101', 'bread', 20, 'b', '2011-01-01');
  46. INSERT INTO parts VALUES('p102', 'butter', 30, 'b', '2015-01-01');
  47. INSERT INTO parts VALUES('p103', 'jam', 10, 'b', '2015-03-01');
  48. INSERT INTO parts VALUES('p104', 'milk', 10, 'b', '2011-01-01');
  49. INSERT INTO parts VALUES('p105', 'tea', 50, 'b', '2015-01-01');
  50.  
  51.  
  52. INSERT INTO sp VALUES('s101', 'p101', 20, '2012-01-01');
  53. INSERT INTO sp VALUES('s102', 'p102', 30, '2015-01-01');
  54. INSERT INTO sp VALUES('s103', 'p103', 10, '2015-01-01');
  55. INSERT INTO sp VALUES('s104', 'p104', 10, '2012-01-01');
  56. INSERT INTO sp VALUES('s105', 'p105', 50,'2015-01-01');
  57. INSERT INTO sp VALUES('s123', 'p105', 50,'2018-07-01');
  58. INSERT INTO sp VALUES('s123', 'p102', 50,'2018-07-25');
  59. INSERT INTO sp VALUES('s123', 'p103', 50,'2015-01-01');
  60.  
  61. /* Queries*/
  62.  
  63. /* Q - 1*/
  64.  
  65. SELECT sname FROM supplier
  66. WHERE dob = (SELECT MAX(dob) FROM supplier);
  67.  
  68. /* Q - 2*/
  69.  
  70. SELECT * FROM supplier
  71. WHERE (YEAR(CURDATE()) - YEAR(dob) > 30);
  72.  
  73. /* Q - 3*/
  74. SELECT city, AVG(YEAR(CURDATE()) - YEAR(dob)) as Average FROM supplier GROUP BY city;
  75.  
  76.  
  77. /* Q- 4*/
  78.  
  79. SELECT sname FROM supplier
  80. WHERE sno IN (SELECT sno from sp WHERE YEAR(dos) = 2012);
  81.  
  82. /* Q- 5*/
  83.  
  84. SELECT sname FROM supplier
  85. WHERE sno IN (SELECT sno from sp WHERE dos > '2012-02-01');
  86.  
  87. /* Q- 6*/
  88.  
  89. SELECT pname FROM parts
  90. WHERE pno IN (SELECT pno FROM sp WHERE dos = (SELECT MAX(dos) FROM sp));
  91.  
  92. /* Q- 7*/
  93.  
  94. SELECT sname FROM supplier WHERE sno IN ( SELECT a.sno FROM sp as a, sp as b WHERE ( (a.sno = b.sno) AND (a.pno < b.pno) AND (DATEDIFF(a.dos, b.dos) BETWEEN 0 AND 30)));
  95.  
  96. /* Q- 8*/
  97.  
  98. SELECT *, DATE_ADD(dos, INTERVAL 3 MONTH) as warranty_expiry FROM sp;
  99.  
  100. /* Q- 9*/
  101.  
  102. SELECT *, DATE_ADD(dos, INTERVAL 3 MONTH) as warranty_expiry FROM sp WHERE sno = 's123' AND CURDATE() <= DATE_ADD(dos, INTERVAL 3 MONTH);
  103.  
  104. /* Q- 10*/
  105.  
  106. SELECT sname FROM supplier WHERE sno
  107. IN (SELECT a.sno FROM sp as a, parts as b WHERE a.dos >= DATE_ADD(b.dom, INTERVAL 6 MONTH) AND a.pno = b.pno);
Add Comment
Please, Sign In to add comment