您的位置:首页 > 数据库

SqlServer 基础知识-数据检索、查询排序

2011-10-21 22:22 696 查看
--执行顺序 From Where Selectselect * from(select sal as salary,comm as commission from emp ) x where salary<5000--得出 Name Work as a Jobselect ename +' Work as a'+job as msg from emp where deptno=10--如果员工工资小于2000返回UnderPaid 大于等于4k 返回OverPaid 之间返回OKselect ename,sal,case when sal<2000 then 'UnderPaid'when sal>=4000 then 'OverPaid'else'OK'endfrom emp--从表中随机返回N条记录 newid()--order by 字句中指定数字常量时,是要求根据select列表中相应位置的列排序--order by 字句中用函数时,则按函数在没一行计算结果排序select top 5 ename from emp  order by newid()--找空值is nullselect * from emp where comm is null--将空值转换为实际值--解释:返回其参数中第一个非空表达式--coalesce 联合,合并,结合.英音:[,kəuə'les]美音:[,koə'lɛs]select coalesce(comm, 1),empNo from emp--按模式搜索--返回匹配特定子串或模式的行select ename,jobfrom empwhere deptno in(10,20)--按子串排序 按照职位字段的 最后两个字符排序select ename, job  from emp order by substring(job,len(job)-2,2)--select top 2 len(job)-2 from emp--select top 2 job from emp--☆☆☆☆☆处理排序空值☆☆☆☆☆  [只能是大于0]select ename ,sal,commfrom emporder by 1 desc-- 以降序或升序方式排序非空值,将空值放到最后,可以用caseselect  ename,sal,comm from(select ename ,sal,comm ,case when comm is null then 0 else 1 end  as Afrom emp) xorder by A desc ,comm desc
---------------------------------------------2011-11-02 常见 基本的 分页SQL 语句---------------------------------------------------------
壹:SELECT TOP 页大小 *FROM tableWHERE id NOTIN(SELECT TOP 页大小*(页数-1) id FROM table ORDERBY id)ORDERBY id贰:SELECT TOP 页大小 *FROM tableWHERE id >(SELECTISNULL(MAX(id),0)FROM(SELECT TOP 页大小*(页数-1) id FROM table ORDERBY id) A)ORDERBY id叁:SELECT TOP 页大小 *FROM(SELECT ROW_NUMBER() OVER (ORDERBY id) AS RowNumber *FROM table) AWHERE RowNumber > 页大小*(页数-1)若查询所有:SELECT * , ROW_NUMBER() OVER (ORDERBY id) AS RowNumber *FROM table
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: