我是做.net开发的,对sql了解的还比较少,但是基本的都能用了,复杂的就不行了。希望各位推荐下好的书或者博客看看。比如行列转换,复杂的存储过程,就是sql进阶类。谢谢了哦。
解决方案 »
- SQL 存储过程
- 关于OPENXML的写法
- 哪位大神给我解释一下这个语句啊,求解释,至于你们界不解释,反正我是问了。
- 存储过程中用execute sql语句怎么得到这个sql语句的返回值啊
- 请问?????
- SQL语句怎么写才能知道数据库有哪些表?还有,我要升级SQL Server Enterprise Manager,去哪儿下载?
- sql server 的连接问题?
- 救急!pb6中setfilter()中如何实现诸如“select emp_no from bse_employee where id in (select id form ......)”???(
- 谁用过Informix,存储过程中unload怎么报告语法错误?
- 麻烦的报表,请教SQL写法?在线等....
- 数据库面试题 高手请进……
- 数据库表用中文名,会有什么隐患吗?
或者
深入浅出SQL 2005开发、管理与应用实例
老大的书我有一本 感觉不错
技术内幕的话估计研究得比较深
不过你可以去买本技术内幕之T-SQL编程看看
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 --比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
WHEN col_1 IN ('a') THEN '第二类'
ELSE'其他' END
下面我们来举个例子
公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示
CONSTRAINT check_salary CHECK
( CASE WHEN sex = '2'
THEN CASE WHEN salary > 1000
THEN 1 ELSE 0 END
ELSE 1 END = 1 )
如果单纯使用Check,如下所示 CONSTRAINT check_salary CHECK
( sex = '2' AND salary > 1000 )
女职员的条件倒是符合了,男职员就无法输入了。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huangxiaochun2006/archive/2009/05/20/4204809.aspx
select name 姓名,case sex when boy then 男 else 女 end from student.select name 姓名,case age when 20 then 青年 when 30 then 中年 when 60 then 老年 else 其它 end from age_tbl
就用小F所说的:深入浅出,那本自己认为不错。
select name 姓名,case sex when boy then 男 else 女 end from student. select name 姓名,case age when 20 then 青年 when 30 then 中年 when 60 then 老年 else 其它 end from age_tbl MSDN+CSDN