MYSQL连接不使用主键

时间:2018-06-14 01:24:25

标签: mysql sql join

我想知道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; 

感谢您的帮助。 :)

1 个答案:

答案 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;