读者编号和还书日期存储在Lending表中,书名存储在Book表中,检索读者编号为“t003”的读者所借图书的书名和借书日期
时间: 2024-03-19 14:45:28 浏览: 70
可以使用以下 SQL 查询语句来检索:
```
SELECT Book.book_name, Lending.lend_date
FROM Book
INNER JOIN Lending ON Book.book_id = Lending.book_id
WHERE Lending.reader_id = 't003';
```
这个查询语句使用 INNER JOIN 将 Book 表和 Lending 表连接起来,然后根据 Lending 表中的 reader_id 列筛选出读者编号为 "t003" 的记录。最终查询结果包括书名和借书日期。
相关问题
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. 查找已经借书,并未归还的借阅信息,查询结果为读者号、读者姓名、借书编号、借书名称和借书日期。
好的,以下是针对你的问题的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;
```
本题涉及的数据 库关系模式如下:+ readers(readerid, mame, sex, department, phone). books(bookid, bname, author, press, price)» lending(readerid, bookid. borrowdate, returndate)+ 其中,readers 表示读者,它的各属性依次为读者编号,读者姓 名、读者性别、读者所在部门和读者电话;books 表示图书,它的各属性依次为图书编号、图书名、作者、出版社和定价;lending 表示借阅,它的各 属性依次为读者编号,图书编号、借出时间和归还时间。+创建存储过程 u.proC,查询指定图书被借的次数,结果通过应用程序的变量显示《输入 参数用 bid 表示,輸出参数用 bimes 表示)。
好的,根据您提供的数据库关系模式,可以创建以下存储过程 u.proC:
```
CREATE PROCEDURE u.proC
@bid INT,
@bimes INT OUTPUT
AS
BEGIN
SELECT @bimes = COUNT(*)
FROM lending
WHERE bookid = @bid
END
```
这个存储过程接收一个输入参数 `@bid` 表示要查询的图书编号,同时也有一个输出参数 `@bimes` 表示查询结果,即被借阅的次数。该存储过程会在 lending 表中查找与输入图书编号匹配的记录,统计它们的数量并将结果赋值给输出参数 `@bimes`。
在应用程序中调用该存储过程并获取 `@bimes` 参数的值即可显示查询结果。
阅读全文