create table #a(学号 varchar(10),成绩 int)
INSERT #a SELECT '001','99'
INSERT #a SELECT '002','100'create table #b(学号 varchar(10),姓名 varchar(10))
INSERT #b SELECT '001','小红'
INSERT #b SELECT '002','小名'
INSERT #b SELECT '002','小蓝'create table #c(学号 varchar(10),标志 varchar(10))
INSERT #c SELECT '001','是'
INSERT #c SELECT '888','是'
INSERT #c SELECT '002','否'有上面三张表
条件是#c标志等于“是”的
查询后的效果是:
学号 姓名 成绩
001 小红 99
888 空 0
INSERT #a SELECT '001','99'
INSERT #a SELECT '002','100'create table #b(学号 varchar(10),姓名 varchar(10))
INSERT #b SELECT '001','小红'
INSERT #b SELECT '002','小名'
INSERT #b SELECT '002','小蓝'create table #c(学号 varchar(10),标志 varchar(10))
INSERT #c SELECT '001','是'
INSERT #c SELECT '888','是'
INSERT #c SELECT '002','否'有上面三张表
条件是#c标志等于“是”的
查询后的效果是:
学号 姓名 成绩
001 小红 99
888 空 0
解决方案 »
- 请问我新装的sql2005,存储过程右键没有"执行存储过程"是为什么? [有图说明]
- 求条SQL语句?
- 如何更改数据库值的编码
- 同一个SQL语句,只是查询条件中的部门编码不一样,查询时间怎么差那么多
- Oracle有没有好的数据库监控工具呢,类似与SQLSERVER的SQLServerProfiler,监控Java程序每一步执行所产生的SQL语句?
- 怎樣快速的把Recordset里的資料加到temp table中去?
- Foxpro的应用怎样?
- 怎样提高在一个超过200万条记录的大表的查询速度?我已建立索引可仍耗时3分钟多。谢谢!在线等候!
- 关于DBEdit中内容与SQL Server中字段类型不匹配的问题。
- 数据库调试
- Windowsxp可以安装sql server2005吗
- 求sql server 2000 group by 多列分组的语句
WHERE A.学号=B.学号 AND A.学号=C.学号 AND C.标志='是'
where A.学号=B.学号 and B.学号=C.学号 and C.标志='是'
INSERT #a SELECT '001','99'
INSERT #a SELECT '002','100'create table #b(学号 varchar(10),姓名 varchar(10))
INSERT #b SELECT '001','小红'
INSERT #b SELECT '002','小名'
INSERT #b SELECT '002','小蓝'create table #c(学号 varchar(10),标志 varchar(10))
INSERT #c SELECT '001','是'
INSERT #c SELECT '888','是'
INSERT #c SELECT '002','否'
select c.学号,b.姓名,isnull(a.成绩,0) 成绩
from #a a
join #b b on a.学号=b.学号
right join #c c on a.学号=c.学号
where c.标志='是'
/*
学号 姓名 成绩
---------- ---------- -----------
001 小红 99
888 NULL 0(2 行受影响)
*/
INSERT #a SELECT '001','99'
INSERT #a SELECT '002','100'create table #b(学号 varchar(10),姓名 varchar(10))
INSERT #b SELECT '001','小红'
INSERT #b SELECT '002','小名'
INSERT #b SELECT '002','小蓝'create table #c(学号 varchar(10),标志 varchar(10))
INSERT #c SELECT '001','是'
INSERT #c SELECT '888','是'
INSERT #c SELECT '002','否'select isnull(A.学号,C.学号) 学号,B.姓名,A.成绩 from #a
A right join
(
select * from #c where 标志='是'
)
C
on A.学号=C.学号
left join #b B
on A.学号=B.学号学号 姓名 成绩
---------- ---------- -----------
001 小红 99
888 NULL NULL(2 行受影响)
INSERT #a SELECT '001','99'
INSERT #a SELECT '002','100'create table #b(学号 varchar(10),姓名 varchar(10))
INSERT #b SELECT '001','小红'
INSERT #b SELECT '002','小名'
INSERT #b SELECT '002','小蓝'create table #c(学号 varchar(10),标志 varchar(10))
INSERT #c SELECT '001','是'
INSERT #c SELECT '888','是'
INSERT #c SELECT '002','否'select isnull(A.学号,C.学号) 学号,isnull(B.姓名,'空') 姓名,isnull(A.成绩,0) 成绩 from #a
A right join
(
select * from #c where 标志='是'
)
C
on A.学号=C.学号
left join #b B
on A.学号=B.学号学号 姓名 成绩
---------- ---------- -----------
001 小红 99
888 空 0(2 行受影响)
c.学号,b.姓名,isnull(a.成绩,0) 成绩
from
# a
join #b b on
a.学号=b.学号
right join
#c c on a.学号=c.学号
where
c.标志='是'