一个简单的sql server的select问题

有两个表
一个是用户表 Accounts_Users
UserID UserName
1 tainro
2 roland
3 gornd
4 zahrod

另一个是teacher表

TeacherID UseID
1 2
2 4
现在分页中,我要把UserID, UserName,TeacherID选出来(如果是Teacher,TeacherID就取TeacherID,如果不是,TeacherID就写成0),前面两个好办,最后一个TeacherID应该如何选?
我写的 SELECT语句是:
SELECT UserID,UserlName,TeacherID =(ISNULL(TeacherID,0) FROM Teachers_Teachers WHERE Teachers_Teachers.UserID=Accounts_Users.UserID)
结果并不是我想要的。

SELECT A.USER_ID,A.USER_NAME ,NVL(B.TEACHER_ID,'0') FROM ACCOUNTS_USERS A LEFT JOIN TEACHER B ON B.USER_ID = A.USER_ID
--以用户表 Accounts_Users为主表,左连接teacher表,如果匹配上则存在TEACHER_ID,通过nvl函数进行处理nvl(A,B),如何A不为空则为A,否则就显示B

获取数据库数据后,再次修改值


select nvl(a.TeacherID,0),b.UserlName,a.TeacherID from Teachers_Teachers a,Accounts_Users b WHERE a.UserID=b.UserID--两张表关联一下,Teacher表的TeacherID有值取该值,否则取0,结果是2条数据

select nvl(a.TeacherID,0),b.UserlName,a.TeacherID from Teachers_Teachers a left join on Accounts_Users b on a.UserID=b.UserID--结果是2条数据
两种不同结果的sql,看你想要哪一个的效果吧
有帮助望采纳谢谢
select a.UserID,a.UserlName,nvl(b.TeacherID,0) as TeacherID  from Accounts_Users a,Teachers_Teachers b WHERE a.UserID=b.UserID;

如果有帮助,望采纳!

以上答案都有问题,我试了一下,正确的答案应该是 :
SELECT A.UserID,A.UserName,IsNull(B.TeacherID,0) FROM ACCOUNTS_USERS A LEFT JOIN Teachers_Teachers B ON B.UserID = A.UserID