Информатика · ҰБТ сұрағы №16260
Кітапхананың деректер қорында үш кесте бар (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 шартымен жасалған.

Q1 = SELECT COUNT(*) FROM Book b LEFT JOIN Loan l ON l.book_id = b.id AND l.days >= 10; Q2 = SELECT COUNT(*) FROM Book b LEFT JOIN Loan l ON l.book_id = b.id WHERE l.days >= 10; Q1 мен Q2 нәтижелерінің айырмасы (Q1 − Q2) қанша?

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

Q1-де ON шарты қосылуға әсер етеді, кітаптар сақталады: 8 жол. Q2-де WHERE шарты LEFT JOIN-нан кейін NULL жолдарын сүзіп тастайды: 5 жол. Айырма 3.

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