数据库中有两个表如下(请注意,这两个表没有任何共同的键。): -
员工表
Eid Ename 薪水
001 John 15000
002 Mac 20000
003迈克尔6000
004 Randy 30000
005 Mandy NULL
薪资表
MinSal MaxSal 成绩
1000 10000 A
11000 20000 B
21000 30000 C
31000 40000 D
现在所需的输出类似于
员工详细信息
Eid Ename 薪水 成绩
001 John 15000 B
002 Mac 20000 B
<00> 003迈克尔6000 A <00> 004 Randy 30000 C <00> 005 Mandy N / A N / A
用于获取req的逻辑或技术是什么。结果。什么是SQL代码。
答案 0 :(得分:6)
在你的情况下你需要一个非等连接:
select e.eid, e.ename, e.salary, s.grade
from employee e inner join salary s on (e.salary between s.minsal and s.maxsal)
您可能需要为N/A
案例添加特殊案例。也许是left outer
加入?如果您指定正在使用的RDBMS,可能会有所帮助。
答案 1 :(得分:0)
您需要使用JOIN
以下是有关如何使用它的有用页面:http://www.tizag.com/sqlTutorial/sqljoin.php
答案 2 :(得分:0)
我认真建议将它们链接起来,这会产生更好的架构并使编码更容易。
但是,如果您不想这样做,您可以使用if语句获得所需的结果,每个薪水等级都有一个。