SQL SERVER 精华查询语句
1. 在数据库中设计图书管理系统,成绩管理系统(两个系统设计成一个系统)。
2. 某班所有学生二月份借的书目的总本数(相同的书不重复计算)--
3. 某班所有学生最后借的一本书的借书信息(书名、时间)--
4. 本月借书信息、本年借书信息、上年借书信息、上年本月借书信息、上月借
书信息(所有的都是求本数)
5. 某位老师所教课程的所有学生的借书信息---
6. 每位学生借的书名串联---
7. 每个学生借的最贵的一本书的信息--、
答案如下:如有不正确的地方,还请指正。
---第二题某班所有学生二月份借的书目的总本数(相同的书不重复计算)--
SELECT b.sStudentId AS '学生 ID',
COUNT(DISTINCT c.sBookId) AS '数目总本数'
FROM BookInformation c
JOIN Borrow a ON c.sBookId=a.sBookId
JOIN student b ON a.sStudentId=b.sStudentId
JOIN class d ON b.iClassNo=d.iClassNO
WHERE DATEPART(MONTH,tBorrowTime)=2
AND d.iClassNO='307' GROUP BY b.sStudentId
---第三题某班所有学生最后借的一本书的借书信息(书名、时间)--
SELECT b.sStudentName, sBookName AS 书名 ,tBorrowTime AS 借书时间
FROM Borrow a
JOIN student b ON a.sStudentId=b.sStudentId
JOIN BookInformation c ON a.sBookId=c.sBookId
JOIN class d ON b.iClassNo=d.iClassNO
WHERE d.sClassName='07 计算机网络'
AND a.sBookId =(SELECT top 1 a1.sBookId FROM Borrow a1
JOIN BookInformation e ON a1.sBookId=e.sBookId
WHERE a1.sStudentId=a.sStudentId
ORDER BY a1.tBorrowTime DESC)
评论15