Book(图书) 字段名 说明 BookIdId 图书编号 BookName 图书名 Author 作者 Publish 出版社 Price 单价 UserTb(读者) 字段名 说明 UserTb 读者编号 UserName 读者姓名 UserSex 读者性别 UserDep 读者所在系部 Lending(借阅) 字段名 说明 UserId 读者编号 BookId 图书编号 LendDate 借书日期 RtnDate 还书日期 。1.向读者表中插入一条记录,编号为t003,姓名为“李四”,性别“男”,所在系部为“信息系”。 2.将book表中,将图书名称为“数据库技术”书的单价修改为36元。 3. 将刚插入的t003号读者的信息删除。 4. 查找UserTb表中姓名以‘张’开头的所有读者的读者号、姓名。 5. 检索读者编号为“t003”的读者所借图书的书名和借书日期。 6. 查询借阅图书本数超过3本的读者号、总本数。并按借阅图书本数从大到小排序。 7. 查找已经借书,并未归还的借阅信息,查询结果为读者号、读者姓名、借书编号、借书名称和借书日期。
时间: 2024-03-19 16:44:46 浏览: 48
图书借阅管理 关于数据库
3星 · 编辑精心推荐
好的,以下是针对你的问题的SQL语句:
1. 向UserTb表中插入一条记录:
```sql
INSERT INTO UserTb (UserTb, UserName, UserSex, UserDep) VALUES ('t003', '李四', '男', '信息系');
```
2. 修改book表中“数据库技术”书的单价为36元:
```sql
UPDATE book SET Price = 36 WHERE BookName = '数据库技术';
```
3. 删除刚插入的t003号读者的信息:
```sql
DELETE FROM UserTb WHERE UserTb = 't003';
```
4. 查找UserTb表中姓名以‘张’开头的所有读者的读者号、姓名:
```sql
SELECT UserTb, UserName FROM UserTb WHERE UserName LIKE '张%';
```
5. 检索读者编号为“t003”的读者所借图书的书名和借书日期:
```sql
SELECT BookName, LendDate FROM Lending WHERE UserId = 't003';
```
6. 查询借阅图书本数超过3本的读者号、总本数,并按借阅图书本数从大到小排序:
```sql
SELECT UserId, COUNT(*) AS total FROM Lending GROUP BY UserId HAVING total > 3 ORDER BY total DESC;
```
7. 查找已经借书,并未归还的借阅信息,查询结果为读者号、读者姓名、借书编号、借书名称和借书日期:
```sql
SELECT UserTb.UserTb, UserTb.UserName, Lending.BookId, Book.BookName, Lending.LendDate
FROM Lending
JOIN UserTb ON Lending.UserId = UserTb.UserTb
JOIN Book ON Lending.BookId = Book.BookId
WHERE RtnDate IS NULL;
```
阅读全文