1、Case 子查询连接查询
select * from score create database demo use demo create table [user] ( [uId] int identity( 1 ,1 ) primary key, [name] varchar ( 50), [level] int --1骨灰大虾菜鸟 ) insert into [user] ( name, level ) values (' 犀利哥 ', 1 ) insert into [user] ( name, level ) values (' 小月月 ', 2 ) insert into [user] ( name, level ) values (' 芙蓉姐姐 ', 3 ) --case end 单值判断 相当于 switch case --then 后面的返回值类型必须一致 select [name] , case [level] when 1 then '骨灰 ' when 2 then '大虾 ' when 3 then '菜鸟 ' end as '等级 ' from [user] use MySchool select * from score --case end 第二种用法,相当于多重 if 语句 select studentId , case when english >=90 then ' 优 ' when english >=80 and english <90 then ' 良 ' when english >=70 and english < 80 then ' 中 ' when english >= 60 and english < 70 then ' 可 ' else ' 差 ' end as '成绩 ' from score order by english -- 表中有A B C 三列 ,用 SQL 语句实现:当 A列大于 B 列时选择A 列否则选择 B 列,当B 列大于 C列时选择 B 列否则选择 C列。 select case when a > b then a else b end , case when b > c then b else c end from T -- 练习 create table test ( number varchar ( 10), amount int ) insert into test( number ,amount ) values ( 'RK1', 10 ) insert into test( number ,amount ) values ( 'RK2', 20 ) insert into test( number ,amount ) values (转载于:https://www.cnblogs.com/nxxshxf/p/5580109.html
相关资源:SQL语句嵌套查询