Advertisement
Levi0227

sql practice

Feb 1st, 2023 (edited)
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 8.79 KB | Source Code | 0 0
  1. No0.
  2. CREATE DATABASE forum DEFAULT charset utf8 COLLATE utf8_hungarian_ci;
  3.  
  4. No1.
  5. CREATE TABLE IF NOT EXISTS `felhasznalok` (
  6.   `id` int(11) NOT NULL AUTO_INCREMENT,
  7.   `email` varchar(255) NOT NULL,
  8.   `jelszo` varchar(50) NOT NULL,
  9.   `nev` varchar(100) NOT NULL,
  10.   `regisztralas` date NOT NULL,
  11.   PRIMARY KEY (`id`)
  12. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
  13.  
  14. --
  15. -- A tábla adatainak kiíratása `felhasznalok`
  16. --
  17.  
  18. INSERT INTO `felhasznalok` (`id`, `email`, `jelszo`, `nev`, `regisztralas`) VALUES
  19. (1, 'darabos.barna@level.hu', 'darbar12', 'Darabos Barna', '2012-03-01'),
  20. (2, 'cserepes.virag@email.hu', 'csevir12', 'Cserepes Virág', '2012-03-01'),
  21. (3, 'farkas.piroska@uzenet.hu', 'farpir12', 'Farkas Piroska', '2012-03-02'),
  22. (4, 'masz.kalman@e-mail.hu', 'maskal12', 'Mász Kálmán', '2012-03-02'),
  23. (5, 'viz.elek@irjnekem.hu', 'vizele12', 'Víz Elek', '2012-03-03'),
  24. (6, 'koaxk.abel@kuldj.hu', 'koaabe12', 'Koaxk Ábel', '2012-03-03'),
  25. (7, 'elektrom.agnes@kepeslap.hu', 'eleagn12', 'Elektrom Ágnes', '2012-03-03'),
  26. (8, 'mas.balint@18ev.hu', 'masbal12', 'Mas Bálint', '2012-03-03'),
  27. (9, 'zuhany.rozsa@tusolo.hu', 'zuhroz12', 'Zuhany Rózsa', '2012-03-04'),
  28. (10, 'bilagos.barna@szines.hu', 'vilbar12', 'Világos Barna', '2012-03-04');
  29.  
  30. -- --------------------------------------------------------
  31.  
  32. --
  33. -- Tábla szerkezet: `hozzaszolasok`
  34. --
  35.  
  36. CREATE TABLE IF NOT EXISTS `hozzaszolasok` (
  37.   `id` int(11) NOT NULL AUTO_INCREMENT,
  38.   `felhasznalo_id` int(11) NOT NULL,
  39.   `tema_id` int(11) NOT NULL,
  40.   `hozzaszolas` text NOT NULL,
  41.   `datum` date NOT NULL,
  42.   PRIMARY KEY (`id`)
  43. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ;
  44.  
  45. --
  46. -- A tábla adatainak kiíratása `hozzaszolasok`
  47. --
  48.  
  49. INSERT INTO `hozzaszolasok` (`id`, `felhasznalo_id`, `tema_id`, `hozzaszolas`, `datum`) VALUES
  50. (1, 1, 1, 'Milyen lesz a dolgozat?', '2012-03-15'),
  51. (2, 10, 2, 'Vazze, olyan mély színem van, hogy nem látom az alját!', '2012-03-15'),
  52. (3, 2, 1, 'Milyen dolgozat? Írunk valamiből?', '2012-03-16'),
  53. (4, 1, 1, 'Persze, SQL-ből lesz dolgozat.', '2012-03-20'),
  54. (5, 7, 3, 'Kinek van poszátája?', '2012-03-21'),
  55. (6, 6, 2, 'Na ez egy értékes hozzászólás volt. Tudod te, hogy mi az a színmélység?', '2012-03-28'),
  56. (7, 3, 1, 'Dolgozat? Mikor?', '2012-04-01'),
  57. (8, 1, 3, 'Nekem van poszátám. És ráadásul csíkos fejű!', '2012-04-02'),
  58. (9, 1, 1, 'Majd augusztusban.', '2012-04-06'),
  59. (10, 9, 3, 'De jó, nekem is van poszátám. Csinálhatnánk egy közösségi oldalt!', '2012-04-20'),
  60. (11, 4, 1, 'Nekem van egy megoldásom a 2. feladatra. Az jó szerintetek?', '2012-05-03'),
  61. (12, 10, 2, 'Persze, hogy tudom, csak nem látom az alját!', '2012-05-10'),
  62. (13, 6, 2, 'Akkor az tényleg jó mély!', '2012-05-20'),
  63. (14, 1, 1, 'Szerintem ez nem jó megoldás.', '2012-06-03'),
  64. (15, 4, 1, 'Akkor mi a jó megoldás?', '2012-07-05'),
  65. (16, 1, 1, 'Ez lesz a jó megoldás.', '2012-08-25');
  66.  
  67. -- --------------------------------------------------------
  68.  
  69. --
  70. -- Tábla szerkezet: `modositas`
  71. --
  72.  
  73. CREATE TABLE IF NOT EXISTS `modositas` (
  74.   `id` int(11) NOT NULL AUTO_INCREMENT,
  75.   `felhasznalo_id` int(11) NOT NULL,
  76.   `datum` date NOT NULL,
  77.   `ip` varchar(15) NOT NULL,
  78.   PRIMARY KEY (`id`)
  79. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=44 ;
  80.  
  81. --
  82. -- A tábla adatainak kiíratása `modositas`
  83. --
  84.  
  85. INSERT INTO `modositas` (`id`, `felhasznalo_id`, `datum`, `ip`) VALUES
  86. (1, 1, '2012-03-04', '68.84.56.165'),
  87. (2, 2, '2012-03-04', '14.74.41.142'),
  88. (3, 3, '2012-03-04', '25.222.197.114'),
  89. (4, 4, '2012-03-05', '50.120.36.91'),
  90. (5, 6, '2012-03-05', '173.167.40.171'),
  91. (6, 7, '2012-03-05', '253.79.83.58'),
  92. (7, 9, '2012-03-05', '41.149.135.22'),
  93. (8, 10, '2012-03-05', '224.200.32.37'),
  94. (9, 2, '2012-03-10', '14.74.41.142'),
  95. (10, 4, '2012-03-14', '50.120.36.91'),
  96. (11, 3, '2012-03-25', '25.222.197.114'),
  97. (12, 7, '2012-03-29', '253.79.83.58'),
  98. (13, 9, '2012-04-02', '41.149.135.22'),
  99. (14, 10, '2012-04-06', '224.200.32.37'),
  100. (15, 1, '2012-04-06', '68.84.56.165'),
  101. (16, 2, '2012-04-12', '14.74.41.142'),
  102. (17, 6, '2012-04-16', '173.167.40.171'),
  103. (18, 4, '2012-04-26', '50.120.36.91'),
  104. (19, 3, '2012-04-27', '25.222.197.114'),
  105. (20, 7, '2012-04-27', '253.79.83.58'),
  106. (21, 1, '2012-04-29', '68.84.56.165'),
  107. (22, 2, '2012-05-02', '14.74.41.142'),
  108. (23, 2, '2012-05-06', '17.237.203.106'),
  109. (24, 3, '2012-05-08', '25.222.197.114'),
  110. (25, 1, '2012-05-23', '68.84.56.165'),
  111. (26, 10, '2012-05-23', '224.200.32.37'),
  112. (27, 9, '2012-05-23', '41.149.135.22'),
  113. (28, 7, '2012-06-12', '253.79.83.58'),
  114. (29, 6, '2012-06-13', '173.167.40.171'),
  115. (30, 3, '2012-06-13', '25.222.197.114'),
  116. (31, 4, '2012-06-13', '181.137.156.123'),
  117. (32, 2, '2012-06-20', '14.74.41.142'),
  118. (33, 1, '2012-06-22', '68.84.56.165'),
  119. (34, 9, '2012-07-01', '41.149.135.22'),
  120. (35, 10, '2012-07-05', '224.200.32.37'),
  121. (36, 10, '2012-07-08', '224.200.32.37'),
  122. (37, 1, '2012-07-15', '68.84.56.165'),
  123. (38, 1, '2012-07-20', '68.84.56.165'),
  124. (39, 3, '2012-08-04', '25.222.197.114'),
  125. (40, 3, '2012-08-23', '25.222.197.114'),
  126. (41, 4, '2012-08-25', '181.137.156.123'),
  127. (42, 7, '2012-08-25', '253.79.83.58'),
  128. (43, 2, '2012-08-25', '14.74.41.142');
  129.  
  130. -- --------------------------------------------------------
  131.  
  132. --
  133. -- Tábla szerkezet: `temak`
  134. --
  135.  
  136. CREATE TABLE IF NOT EXISTS `temak` (
  137.   `id` int(11) NOT NULL AUTO_INCREMENT,
  138.   `tema_neve` varchar(100) NOT NULL,
  139.   `tema_leirasa` varchar(255) NOT NULL,
  140.   `kategoria` varchar(20) NOT NULL,
  141.   PRIMARY KEY (`id`)
  142. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
  143.  
  144. --
  145. -- A tábla adatainak kiíratása `temak`
  146. --
  147.  
  148. INSERT INTO `temak` (`id`, `tema_neve`, `tema_leirasa`, `kategoria`) VALUES
  149. (1, 'SQL dolgozat', 'Az SQL dolgozattal kapcsolatos beszélgetés', 'informatika'),
  150. (2, 'Színmélység', 'A teszíned milyen mély?', 'informatika'),
  151. (3, 'Nádiposzáta', 'A csíkosfejű nádiposzáta társas élete', 'biológia');
  152.  
  153. No3.
  154. SELECT nev, email, regisztralas FROM felhasznalok
  155. WHERE regisztralas="2012-03-03" ORDER BY nev ASC;
  156.  
  157. No4.
  158. SELECT nev FROM `felhasznalok` WHERE nev LIKE "%Barna";
  159.  
  160. No5.
  161. SELECT kategoria, COUNT(tema_neve) AS "téma darabszáma" FROM temak GROUP by kategoria;  
  162.  
  163. No6.
  164. SELECT tema_neve, hozzaszolas, datum FROM temak, hozzaszolasok WHERE temak.id=hozzaszolasok.tema_id ORDER by tema_neve, datum;
  165.  
  166. No7.
  167. SELECT nev, hozzaszolas, datum FROM hozzaszolasok, felhasznalok WHERE felhasznalok.id=hozzaszolasok.felhasznalo_id And felhasznalo_id=1;
  168.  
  169. No8.
  170. SELECT hozzaszolas FROM hozzaszolasok, felhasznalok WHERE felhasznalok.id=hozzaszolasok.felhasznalo_id And felhasznalo_id=1 ORDER by datum DESC LIMIT 1;
  171.  
  172. No9.
  173. SELECT nev FROM hozzaszolasok, felhasznalok, temak WHERE felhasznalok.id=hozzaszolasok.felhasznalo_id AND hozzaszolasok.tema_id=temak.id And tema_neve="Nádiposzáta" ORDER by nev ASC;
  174.  
  175. No10.
  176. SELECT nev FROM felhasznalok WHERE felhasznalok.id NOT in (SELECT felhasznalo_id FROM modositas);
  177.  
  178. No11.
  179. SELECT nev, COUNT(hozzaszolas) AS "hozzászólások száma" FROM hozzaszolasok, felhasznalok
  180. WHERE felhasznalok.id=hozzaszolasok.felhasznalo_id GROUP by nev ORDER by COUNT(hozzaszolas) DESC;
  181.  
  182. ----EXTRA----
  183. No1.
  184. SELECT ugyfel.nev FROM ugyfel ORDER BY nev ASC;
  185.  
  186. No2.
  187. SELECT nev, 2023-szulev FROM `ugyfel` WHERE orsz='H' ORDER BY 2023-szulev ASC;
  188.  
  189. No3.
  190. SELECT nev FROM `ugyfel` WHERE ugyfel.irszam LIKE "2%";
  191.  
  192. No4.
  193. SELECT SUM(befiz.osszeg) FROM befiz;
  194.  
  195. No5.
  196. SELECT AVG(befiz.osszeg) FROM befiz;
  197.  
  198. No6.
  199. SELECT MAX(osszeg), MIN(osszeg) FROM befiz;
  200.  
  201. No7.
  202. SELECT COUNT(azon) FROM befiz;
  203.  
  204. No8.
  205. SELECT nev, osszeg, datum FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon AND nev="Török Bálint";
  206.  
  207. No9.
  208. SELECT SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon AND nev="Nagy Károly";
  209.  
  210. No10.
  211. SELECT SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon AND orsz NOT LIKE "H";
  212.  
  213. No11.
  214. SELECT nev, SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon GROUP by nev;
  215.  
  216. No12.
  217. SELECT nev, SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon GROUP by nev ORDER by SUM(osszeg) DESC LIMIT 3;
  218.  
  219. No13.
  220. SELECT MONTHNAME(datum), SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon GROUP by MONTH(datum);
  221.  
  222. No14.
  223. SELECT datum, COUNT(datum) FROM befiz GROUP by DATE(datum) HAVING COUNT(datum)>1;
  224.  
  225. No15.
  226. SELECT azon FROM befiz WHERE MONTH(datum)<7;
  227.  
  228. No16.
  229. SELECT SUM(osszeg) FROM befiz WHERE MONTH(datum) BETWEEN 7 AND 12;
  230.  
  231. No17.
  232. SELECT nev FROM ugyfel ORDER by szulev ASC LIMIT 1;
  233.  
  234. No18.
  235. SELECT nev, osszeg FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon ORDER by osszeg ASC LIMIT 1;
  236.  
  237. No19.
  238. SELECT nev, SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon GROUP by nev ORDER by SUM(osszeg) ASC LIMIT 1;
  239.  
  240. No20.
  241. SELECT nev, SUM(osszeg) FROM ugyfel, befiz WHERE ugyfel.azon=befiz.azon GROUP by nev
  242. HAVING SUM(osszeg)>(SELECT SUM(osszeg) FROM ugyfel,befiz WHERE ugyfel.azon=befiz.azon) / (SELECT COUNT(ugyfel.azon) FROM ugyfel)
  243. by SUM(osszeg);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement