图书馆管理系统多表查询示倒
时间: 2023-07-30 09:05:50 浏览: 50
假我们有以下几个表:
1. 书籍表 books,包含书籍的基本信息,如书籍ID、书名、作者、ISBN、价格等字段;
2. 读者表 readers,包含读者的基本信息,如读者ID、姓名、性别、联系方式等字段;
3. 借阅记录表 borrow_records,包含借阅记录的信息,如借阅记录ID、书籍ID、读者ID、借阅日期、归还日期等字段。
如果我们需要查询某个读者借了哪些书籍,可以通过以下 SQL 语句实现:
```
SELECT books.book_name, borrow_records.borrow_date
FROM books, borrow_records
WHERE books.book_id = borrow_records.book_id
AND borrow_records.reader_id = 'xxx';
```
其中,xxx 为具体的读者ID。这条语句的含义是先从书籍表和借阅记录表中选取出所有借阅该读者的书籍和借阅日期,然后将结果返回。注意,这里使用了表的内连接(INNER JOIN)来连接两个表,并且使用了 WHERE 子句来筛选出特定读者的借阅记录。
如果我们需要查询某个书籍被哪些读者借阅过,可以通过以下 SQL 语句实现:
```
SELECT readers.reader_name, borrow_records.borrow_date
FROM readers, borrow_records
WHERE readers.reader_id = borrow_records.reader_id
AND borrow_records.book_id = 'xxx';
```
其中,xxx 为具体的书籍ID。这条语句的含义是先从读者表和借阅记录表中选取出所有借阅过该书籍的读者和借阅日期,然后将结果返回。同样地,这里也使用了表的内连接(INNER JOIN)来连接两个表,并且使用了 WHERE 子句来筛选出特定书籍的借阅记录。