Информатика · ҰБТ сұрағы №13879
Кітапхана деректер қорында екі кесте бар. Кестелердің жолдары (өрістер «|» таңбасымен бөлінген):
books(id | title | genre | price):
1 | Atlas | science | 4500
2 | Brest | history | 3200
3 | Cobalt | science | 2800
4 | Dastan | poetry | 1500
5 | Elbrus | history | 3900
6 | Fabula | poetry | 2100
loans(book_id | reader | days):
1 | Aruzhan | 14
1 | Bekzat | 7
2 | Aruzhan | 21
3 | Dina | 5
3 | Bekzat | 10
3 | Aruzhan | 12
5 | Dina | 30
7 | Erkin | 8
loans.book_id өрісі books.id өрісіне сілтейтін сыртқы кілт ретінде қарастырылады.
SELECT genre, COUNT(*) FROM books b JOIN loans l ON b.id = l.book_id GROUP BY genre ORDER BY 2 DESC сұранысы қандай нәтиже береді?
Дұрыс жауабы мен түсіндірмесі
Жауабы: science 5; history 2
INNER JOIN тек екі кестеде де сәйкесі бар жолдарды қалдырады: science — 1-кітап (2) + 3-кітап (3) = 5; history — 2-кітап және 5-кітап, 1+1 = 2. Poetry кітаптарының тапсырысы жоқ, ал book_id = 7 жолының сәйкесі жоқ.
«Мәліметтер қорын жасау» тақырыбынан тағы
- SQLite-та сұраныс қандай жолды қайтарады? SELECT SUBSTR('database', 3, 4) || LENGTH('sql') || UPPER(SUBSTR('xy...
- sales(id, region, amount) кестесінің жолдары (id | region | amount): 1 | North | 120 2 | South | 80 3 | North...
- emp(name, dept, salary): (A, IT, 500), (B, IT, 300), (C, IT, 400), (D, HR, 350), (E, HR, 250), (F, HR, 300), (...
- SQL туралы қай тұжырымдар дұрыс?
- o(cid, amount) кестесінің жолдары: (1, 50), (1, 120), (2, 70), (3, 200), (3, 30), (3, 90). Сұраныс нәтижесін к...
- Деректердің қай жолы сілтемелік тұтастықты (referential integrity) бұзады?
- a(id): 1, 2, 3 және b(id): 2, 3, 4 кестелері үшін қосылым түрін нәтиже жолдарының санымен сәйкестендіріңіз (ша...
- UPDATE books SET price = price * 0.9 WHERE genre = 'poetry' орындалғаннан кейін SELECT SUM(price) FROM books қ...