sql - 我的问题是关于 SQL 中 OR 运算符的工作,它可以用来组合两个选择查询吗
问题描述
SELECT student.name
FROM student
WHERE student.email = copy.owner AND copy.book = "978-0262033848"
OR
SELECT student.name
FROM student
WHERE student.email = loan.borrower AND loan.book = "978-0262033848";
在这段代码中,我尝试组合两个查询。它显示错误,我想知道以这种方式使用它的错误是什么
解决方案
我最好的猜测是,这可以满足您的要求:
SELECT s.name
FROM student s
WHERE EXISTS (SELECT 1
FROM copy c
WHERE c.email = c.owner and c.book = '978-0262033848'
) OR
EXISTS (SELECT 1
FROM loan l
WHERE s.email = l.borrower and l.book = '978-0262033848'
);
这会选择指定书籍的loan
或表中的学生。copy
推荐阅读
- c - 链接列表 - 什么会导致使用 malloc 分配的地址实际上从未被分配?
- javascript - JS 不能在 atom 编辑器中工作,但 CSS 可以
- php - 在 PHP 中使用 PDO 从多个表中搜索的更好方法是什么?
- c# - Blazor WASM PWA 无法更改图标,无法更改名称
- react-native - 无法从“App.js”解析“@react-navigation/bottom-tabs”
- java - 为什么会出现编译错误?使用 try and catch
- python - 大熊猫计算比率作为数据透视表中的值
- java - 使用java从xml解析时如何从json输出中删除元素或属性
- java - 为什么@PreUpdate 在 JPA 的每个查询中运行?
- javascript - 尽管格式良好,Angular 9 和 ngx-admin nb 日期选择器无效