Информатика · ҰБТ сұрағы №16261
Кітапхананың деректер қорында үш кесте бар (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 COUNT(*) FROM Book b WHERE price > (SELECT AVG(price) FROM Book WHERE author_id = b.author_id); сұранысының нәтижесі қандай?

Дұрыс жауабы мен түсіндірмесі
Жауабы: 3

Әр автордың орташа бағасынан қымбат кітаптар: 1 (2500 > 2150), 3 (4200 > 3900), 4 (3100 > 2950). 5-кітапта author_id NULL, салыстыру author_id = NULL әрқашан UNKNOWN, орташа NULL — кітап алынбайды.

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