Мектеп кітапханасы кітаптарды есепке алу үшін мәліметтер қорын жасап жатыр. Барлық деректер books бір кестесінде сақталады, оның бағандары (өрістері): id — жазбаның реттік нөмірі, title — атауы, category — санаты, year — шығарылған жылы, copies — даналар саны, price — бір данасының бағасы (теңге). id өрісін жүйе өзі толтырады, ондағы нөмірлер қайталанбайды. Кестеде өрістер реті бойынша (id, title, category, year, copies, price) алты жазба бар: (1, Абай жолы, роман, 2012, 5, 3200); (2, Информатика 10, оқулық, 2019, 12, 2500); (3, Мектеп оқушыларына арналған Python, оқулық, 2021, 3, 4100); (4, Физика 9, оқулық, 2017, 8, 2300); (5, Дала ертегілері, ертегі, 2019, 8, 1800); (6, Қазақстан тарихы, оқулық, 2016, 10, 2700). Кітапханашы деректерді SQL тіліндегі құрылымдалған сұраныстармен алады. SELECT сұранысы өрістерді таңдайды, FROM кестені көрсетеді, WHERE жолдарды іріктеу шартын береді, ORDER BY нәтижені сұрыптайды: әдепкіде өсу ретімен, ал DESC сөзі кему ретімен сұрыптауды білдіреді. SUM(өріс) функциясы мәндерді қосады, COUNT(*) жолдарды санайды, GROUP BY өрістің мәні бірдей жолдарды топқа біріктіреді. WHERE ішіндегі шарттарды AND сөзімен біріктіруге болады: онда жол екі шартты да қанағаттандыруы тиіс. Сұраныс бөліктерінің реті мынадай: SELECT, FROM, WHERE, GROUP BY, ORDER BY. Кейін кітапханашы бағаларды тиынмен көрсетуді жоспарлап отыр, мысалы 2450,50, сонымен бірге бағаларды салыстырып, олардың қосындысын есептейді.
SELECT category, SUM(copies) FROM books GROUP BY category; сұранысы нәтижесінің екінші бағанында 'оқулық' санаты үшін қандай мән шығады?
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру
Дұрыс жауап
- A33
Талдау
GROUP BY жолдарды санат бойынша біріктіреді, ал SUM(copies) әр топтағы даналар санын қосады. Оқулықтар үшін: 12 + 3 + 8 + 10 = 33. «46» саны — барлық кітаптар бойынша қосынды, «4» — оқулықтар саны, ал «23» «Қазақстан тарихы» оқулығын ескермегенде шығады.