mysql - MYSQL 连接不使用主键
问题描述
我想知道 MYSQL 是否可以执行以下操作:
**Table 1**
|name|salary|seniorLevel|
|Angela|3500||
|Cindy|4500||
|Sam|||
|Paul|8000||
**Table2**
|seniorLevel|salary_start|salary_end|
|A|3001|4000|
|B|4001|5000|
|C|5001|6000|
Desired output:
|Name|salary|seniorLevel|
|Angela|3500|A|
|Cindy|4500|B|
|Sam|||
|Paul|8000||
我设法使用下面的 SQL 获得了前两行所需的输出(Angela 和 Cindy),但是即使它们不符合标准,我如何才能将我的代码扭曲为输出全套(包括 Sam 和 Paul)。
select Table1.name, Table1.salary, Table2.seniorLevel from Table1, Table2 where Table1.salary <= Table2.end and Table1.salary >= Table2.start;
谢谢你的帮助。:)
解决方案
我想你想要一个left join
:
select t1.*, t2.seniorLevel
from table1 t1 left join
table2 t2
on t1.salary >= t2.salary_start and t1.salary <= t2.salary_end;
推荐阅读
- leaflet - 使用传单 geoman 提高大量对象的传单性能
- apache-spark - Apache Spark 重新分区/分桶最佳实践以避免数据倾斜
- javascript - Javascript文本颜色变化取决于背景
- java - JavaBeanExecutable HV000254 缺少 Java Enum 的参数元数据
- node.js - 无法从 inversify-express-utils 控制器全局捕获错误
- ios - 如何在 Xcode 中更改 UIButton 的背景图像的不透明度?
- python - 想检查输入 x(有 5 列)在 python 中是否有不同的输出 y
- java - 如何仅对 .on() 中的语句进行连接或将连接转换为等效的数据?
- html - 禁用单击按钮,直到打开的选项卡关闭
- android - 如何为 android 构建颤振应用程序?