表 1教师表: teacherId(主键)、teacherName两个字段,3条记录
1 王老师
2 李老师
3 赵老师
表 2工资标准表:Id(主键) 、teacherId、salary 三个字段,其中teacherId字段和表1的teacherId关联,2条记录
1 1 2000
2 3 2500
我现在希望写一条sql语句,查询到如下结果
1 王老师 2000
2 李老师 null
3 赵老师 2500
这个sql语句怎么写

解决方案 »

  1.   

    select a.teacherId,a.teacherName,b.salary
    from tb1 a
    left join tb2 b on a.teacherId=b.teacherId
      

  2.   


    WITH a1 (teacherId,teacherName) AS 
    (
    SELECT 1,'王老师' UNION ALL 
    SELECT 2,'李老师' UNION ALL 
    SELECT 3,'赵老师'
    )
    ,a2 (Id,teacherId,salary) AS
    (
    SELECT 1,1,'2000' UNION ALL
    SELECT 2,3,'2500'
    )
    SELECT *,(SELECT salary FROM a2 WHERE teacherId=a.teacherId) salary
    FROM a1 a