Department
Department
C2
FROM Members
C3
FROM Books b
JOIN Genres g ON b.GenreID = g.GenreID
C4
FROM Genres g
C5
FROM Members m
C6
WITH LoanCounts AS (
SELECT
YEAR(LoanDate) AS Year,
MONTH(LoanDate) AS Month,
COUNT(*) AS NumberOfLoans
FROM Loans
GROUP BY YEAR(LoanDate), MONTH(LoanDate)
),
MaxLoans AS (
SELECT
Year,
MAX(NumberOfLoans) AS MaxLoans
FROM LoanCounts
GROUP BY Year
SELECT
lc.Year,
lc.Month,
lc.NumberOfLoans
FROM LoanCounts lc
C7:
SELECT
a.AuthorID,
a.AuthorName,
COALESCE(female_loans.NumberOfLoansByFemaleMembers, 0) AS
NumberOfLoansByFemaleMembers,
COALESCE(male_loans.NumberOfLoansByMaleMembers, 0) AS
NumberOfLoansByMaleMembers
FROM Authors a
LEFT JOIN (
SELECT
b.AuthorID,
COUNT(*) AS NumberOfLoansByFemaleMembers
FROM Loans l
GROUP BY b.AuthorID
LEFT JOIN (
SELECT
b.AuthorID,
COUNT(*) AS NumberOfLoansByMaleMembers
FROM Loans l
GROUP BY b.AuthorID
ORDER BY a.AuthorID;
C8:
@memberID INT,
@memberName NVARCHAR(100),
@address NVARCHAR(200),
@email NVARCHAR(100),
@sex NVARCHAR(20),
@birthDate DATE
AS
BEGIN
BEGIN
-- Nếu chưa tồn tại, thực hiện chèn dữ liệu mới vào bảng Members
END
END;
C9:
ON Genres
AFTER DELETE
AS
BEGIN
-- Cập nhật bảng Books, đặt GenreID thành NULL với các sách thuộc thể loại bị xóa
UPDATE Books
END;