Sanady

CVIKO 12 SQL

May 3rd, 2018
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.37 KB | None | 0 0
  1. use cv;
  2. -- A1 a) 69
  3. SELECT COUNT(*) FROM Zapis;
  4. -- A1 b) 63
  5. SELECT COUNT(*) FROM Zapis WHERE body >= 56;
  6. -- A1 c) 5
  7. SELECT COUNT(*) FROM Zapis WHERE body < 56;
  8. -- A1 d) 1
  9. SELECT COUNT(*) FROM Zapis WHERE body IS NULL;
  10. -- A1 e) 68
  11. SELECT COUNT(*) FROM Zapis WHERE body >= 56 OR body < 56;
  12. -- A1 f)
  13. SELECT COUNT(*) FROM Zapis WHERE body IS NOT NULL;
  14. -- B1
  15. SELECT CONCAT(SQRT(POW(3, 2) +4 * 4), 'cm');
  16. -- B3
  17. SELECT NOW(); -- vypise aktualny cas a datum;
  18. -- B4
  19. SELECT DATE(NOW()); -- Samotny datum;
  20. -- B6
  21. SELECT LENGTH('Hello');
  22. -- C1
  23. use sakila;
  24.  
  25. SELECT title, length FROM film WHERE length BETWEEN 100 AND 150 ORDER BY length;
  26. -- D1
  27. SELECT title FROM film WHERE title LIKE '%lion%'; -- gde kolvek nech sa nachadza lion on ho vypise;
  28. -- D2
  29. SELECT title FROM film WHERE title LIKE 'a%'; -- Prve pismeno z filma je A;
  30. -- D3
  31. SELECT title FROM film WHERE title LIKE '%a'; -- posledne pismeno  je a tak ho vypise;
  32. -- D4
  33. SELECT title FROM film WHERE title LIKE '_a%';
  34. -- E1
  35. use cv;
  36. SELECT *,
  37. CASE nastup
  38.     WHEN 2017 THEN 'prvak'
  39.     WHEN 2016 THEN 'druhak'
  40.     WHEN 2015 THEN 'tretiak'
  41.     ELSE '?'
  42. END AS rocnik FROM Student;
  43. -- E2
  44. SELECT *,
  45. CASE
  46.     WHEN body >= 92 THEN 'Presiel predmet!'
  47.     WHEN body > 56 THEN 'Presiel predmet!'
  48.     WHEN body = 56 THEN 'Presiel, nevzdelaval'
  49.     ELSE 'Treba ziskat dalsie body'
  50. END AS Komentar FROM Zapis; -- Treba ukladat podla podmienok, on prvu podmienku vypisie.
  51. -- F1
  52. SELECT Student.*, predmet FROM Student, Zapis WHERE id = studentID;
  53. -- Vytvaranie view:
  54. -- G1
  55. use xrener1;
  56. CREATE VIEW StudentBody AS SELECT *, round((4 - priemer) * 100) AS body FROM Student;
  57.  
  58. SELECT * FROM StudentBody;
  59.  
  60. DROP VIEW StudentBody;
  61. -- G2
  62. CREATE VIEW UspesnostPredmetu AS
  63. SELECT * FROM Predmet.*, COUNT(studentID) AS Zapisov, COUNT(DISTINCT studentID) AS Studentov, (SELECT COUNT(body) FROM Zapis WHERE Zapis.predmet = Predmet.skratka AND body >= 56) AS Absolvovani LEFT JOIN Zapis ON skratka = predmet GROUP BY skratka; -- DISTINCT bez opakuvania prikaz.
  64. SELECT * FROM UspesnostPredmetu;
  65. DROP VIEW UspesnostPredmetu;
  66. -- H1
  67. CREATE TABLE ProgJazyk(
  68.     id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  69.     nazov VARCHAR(20),
  70.     PRIMARY KEY (id)
  71. );
  72. -- H2
  73. CREATE TABLE StudentJazyk(  
  74.     studentID INT UNSIGNED NOT NULL,
  75.     jazykID INT UNSIGNED NOT NULL,
  76.     PRIMARY KEY (studentID, jazykID),
  77.     FOREIGN KEY (studentID) REFERENCES Student(id),
  78.     FOREIGN KEY (jazykID) REFERENCES ProgJazyk(id)
  79. );
  80. -- I1
  81. INSERT INTO ProgJazyk (nazov) VALUE ('C');
  82. -- I2
  83. INSERT INTO ProgJazyk (nazov) VALUES ('C++'), ('Java'), ('Python'), ('SQL');
  84. -- I3
  85. INSERT INTO StudentJazyk (studentID, jazykID) VALUES (20, 1), (20, 2);
  86. -- I4
  87. INSERT INTO StudentJazyk (studentID, jazykID) SELECT StudentID, (SELECT id FROM ProgJazyk WHERE nazov = 'SQL') FROM Zapis WHERE predmet = 'DBS' AND body >= 56;
  88. -- J1
  89. UPDATE Predmet SET kapacita = 100;
  90. -- J2
  91. UPDATE Predmet SET kapacita = 200 WHERE skratka = 'DBS';
  92. -- J3
  93. UPDATE Zapis SET znamka = CASE
  94.     WHEN body >= 92 THEN 'A'
  95.     WHEN body >= 83 THEN 'B'
  96.     WHEN body >= 74 THEN 'C'
  97.     WHEN body >= 65 THEN 'D'
  98.     WHEN body >= 56 THEN 'E'
  99.     ELSE 'FX'
  100. END
  101. WHERE body IS NOT NULL;
  102. -- J4 49
  103. DELETE FROM Zapis WHERE predmet = 'BEZ';
  104. -- L1
  105. ALTER TABLE Zapis ADD COLUMN aktualizacia DATE;
  106. -- L2
  107. ALTER TABLE Zapis MODIFY COLUMN aktualizacia TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
  108. -- L3
  109. ALTER TABLE Zapis DROP COLUMN aktualizacia;
Advertisement
Add Comment
Please, Sign In to add comment