以下用LEFT OUTER JOIN 和嵌套(NOT IN)两种方法来完成查询 (1)从来没有被借阅过的图书清单,结果显示图书名,作者。 (2)从来没有借过书的读者清单,结果显示读者姓名,读者单位。用关系代数表示
时间: 2024-04-01 07:35:00 浏览: 17
(1)使用 `LEFT OUTER JOIN` 的方式:
```
SELECT bookName, author
FROM tb_book
LEFT OUTER JOIN tb_booklend ON tb_book.bookCode = tb_booklend.bookCode
WHERE tb_booklend.bookCode IS NULL;
```
使用 `NOT IN` 的方式:
```
SELECT bookName, author
FROM tb_book
WHERE bookCode NOT IN (SELECT bookCode FROM tb_booklend);
```
对应的关系代数表达式为:
- "JN F" 的关系代数表达式:
![JN F](https://i.imgur.com/1FN4f1a.png)
- "NOT IN" 的关系代数表达式:
![NOT IN](https://i.imgur.com/nGJQ9mB.png)
(2)使用 `LEFT OUTER JOIN` 的方式:
```
SELECT readerName, readerUnit
FROM tb_reader
LEFT OUTER JOIN tb_booklend ON tb_reader.readerId = tb_booklend.readerId
WHERE tb_booklend.readerId IS NULL;
```
使用 `NOT IN` 的方式:
```
SELECT readerName, readerUnit
FROM tb_reader
WHERE readerId NOT IN (SELECT readerId FROM tb_booklend);
```
对应的关系代数表达式为:
- "JN F" 的关系代数表达式:
![JN F](https://i.imgur.com/1FN4f1a.png)
- "NOT IN" 的关系代数表达式:
![NOT IN](https://i.imgur.com/b0m3u2C.png)
这样就用 `LEFT OUTER JOIN` 和嵌套(`NOT IN`)两种方法分别完成了两个查询,并给出了对应的关系代数表达式。