你不删除,用select 看看结果不就知道了吗?select * from 表 a left join(....
R left join S做的是两个表的左连接,也就是说,如果表R某记录与S表所有记录比较字段值,若有满足连接条件的,则产生一个真实值记录,若都不满足,则产生一个含有null值的记录,直至R表所有的记录都比较完。 例如: 表A1 表A1 字段 D1 D2 值 AA 11 BB AA CC A1 left join A2的结果是: AA AA BB null CC null
case isnull(字段2,'') when '' then 0 else 1 end这又是什么意思呢? 真是抱歉,我是不是很菜?
case是一个多分支的条件语句,格式如下: 1. case 算术表达式 when 算术表达式 then算术表达式 when 算术表达式 then算术表达式 [else 算术表达式 ] end 或者 2. case when 条件表达式 then算术表达式 when 条件表达式 then算术表达式 [else 算术表达式 ] end
就是执行不同情况的语句,例如 update 成绩表 set 成绩= case when 成绩<70 then 成绩*1.1 //成绩小于70的,增加10% when 成绩>=70 and 成绩<80 then 成绩*1.08 //成绩在70-80之间的,增加8% when 成绩>=80 and 成绩<80 then 成绩*1.05 //成绩在80-90之间的增加5% else 成绩*1.02 //其它增加2% end
例如: 表A1 表A1
字段 D1 D2
值 AA 11
BB AA
CC
A1 left join A2的结果是:
AA AA
BB null
CC null
真是抱歉,我是不是很菜?
1. case 算术表达式
when 算术表达式 then算术表达式
when 算术表达式 then算术表达式
[else 算术表达式 ]
end
或者
2. case
when 条件表达式 then算术表达式
when 条件表达式 then算术表达式
[else 算术表达式 ]
end
update 成绩表
set 成绩=
case
when 成绩<70 then 成绩*1.1 //成绩小于70的,增加10%
when 成绩>=70 and 成绩<80 then 成绩*1.08 //成绩在70-80之间的,增加8%
when 成绩>=80 and 成绩<80 then 成绩*1.05 //成绩在80-90之间的增加5%
else 成绩*1.02 //其它增加2%
end
當字段2沒有值或是空格時 返回0 否則返回1