Информатика · ҰБТ сұрағы №16258
Кітапхананың деректер қорында үш кесте бар (NULL — мән жоқ): Author(id, name): (1, 'Абай'), (2, 'Мұхтар'), (3, 'Ілияс'), (4, 'Сәкен') Book(id, title, author_id, price): (1, 'Қара сөз', 1, 2500), (2, 'Өлеңдер', 1, 1800), (3, 'Абай жолы', 2, 4200), (4, 'Таңдамалы', 3, 3100), (5, 'Жолдастар', NULL, 2000), (6, 'Ақ бөкен', 3, 2800), (7, 'Көк сарай', 2, 3600) Loan(book_id, member, days): (1, 'M1', 10), (3, 'M1', 20), (3, 'M2', 15), (4, 'M3', 7), (6, 'M2', 30), (7, 'M1', 12), (7, 'M3', 5), (7, 'M2', 9) Book.author_id → Author.id және Loan.book_id → Book.id сыртқы кілттері ON DELETE CASCADE шартымен жасалған.

Сұраныстың нәтижесі қандай? SELECT a.name, COUNT(l.member) FROM Author a JOIN Book b ON b.author_id = a.id JOIN Loan l ON l.book_id = b.id GROUP BY a.name HAVING COUNT(l.member) > 2;

Дұрыс жауабы мен түсіндірмесі
Жауабы: Бір жол: Мұхтар, 5

Мұхтардың кітаптары 3 және 7: қарыздар 2 + 3 = 5. Абайда 1, Ілиясда 2 қарыз; HAVING COUNT > 2 тек Мұхтарды қалдырады.

«Мәліметтер қорын жасау» тақырыбынан тағы