background image

以上两道题目非常有代表意义,望各位把自己碰到的有代表的查询都贴上来。

create table testtable1

(
 id int IDENTITY,
 department varchar(12)
)

select * from testtable1

insert into testtable1 values('设计')
insert into testtable1 values('市场')
insert into testtable1 values('售后')
/*
结果
id  department
1   设计
2   市场
3   售后
*/
create table testtable2
(
 id int IDENTITY,
 dptID int,
 name varchar(12)
)
insert into testtable2 values(1,'张三')
insert into testtable2 values(1,'李四')
insert into testtable2 values(2,'王五')
insert into testtable2 values(3,'彭六')
insert into testtable2 values(4,'陈七')
/*
用一条 SQL 语句,怎么显示如下结果
id  dptID  department  name
1   1      

        

设计

张三

2   1      

        

设计

李四

3   2      

        

市场

王五

4   3      

        

售后

彭六

5   4      

        

黑人

陈七

*/
 

答案是:

SELECT testtable2.*  , ISNULL(department,'黑人')
FROM testtable1 right join testtable2 on testtable2.dptID = testtable1.ID

3