我想知道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;
感谢您的帮助。 :)
答案 0 :(得分:3)
我想你想要一个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;