1. 遇到的问题
在预约厨房时,需要分别从 厨房订单 和 课程订单 中,查询该厨房在当日被占用的时段,要在两个表中查询,返回的类型都是List<String>
有没有办法在一条SQL语句中,同时把这两个查询结果一并查出并去重呢?
2. 解决方案
使用UNION操作符,用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据(默认为DISTINCT)
MySQL UNION操作符 | 菜鸟教程
使用方法:sql1 UNION sql2
其中有
UNION DISTINCT 去重(默认)
UNION ALL 不去重,全部查出
3. 优化后的SQL语句