关闭

常用sql写法

607人阅读 评论(0) 收藏 举报
分类:


一:将两个不相关的两个sql查询结果合并起来

         有时候我们为了减少与数据库的查询次数可以把几个需要的值一起查询出来,虽然大多数情况下可以用连接查询

         但是还是有时候没有什么关联的

         select a.m,b.n from ( select  * from x ) a ,
         (select * from y ) b

        其实也很好理解就是把查询的结果当成一张临时表来取数据


二:清空表并让自增加列为初始值

      truncate table 表名


三:去重复,查询某列重复的值

  方法1:  delete from test  where id not in (select max(id) from test with(nolock) group by bookname,nuthor having count(id) > 0)

 方法2:WITH myd AS
 (
    SELECT ROW_NUMBER() 
    OVER(PARTITION BY bookname,nuthor ORDER BY ID ) 
    AS NUM,* FROM test
 )
 DELETE FROM myd
 WHERE NUM != 1

  select username,COUNT(id) as '重复次数' from Org_Register group by  username having COUNT(id)>1


四:分页

   1: select * from ( 
    select *, ROW_NUMBER() OVER(Order by a.CreateTime DESC ) AS RowNumber from table_name as a 
  ) as b 
  where RowNumber BETWEEN 1 and 5 


   2:select * 
from( 
select ROW_NUMBER() OVER( ORDER BY PSIO.CreateTime DESC ) AS RowNumber,PSIO.SeqNo,PSIO.CreateTime from dbo.Output PSIO 
inner join Album PPA on PSIO.PPAID=PPA.PPAID 
where PPA.PPAID=103--PPAID=3.PPAID 
) T where RowNumber BETWEEN 1 and 5 order by 1 

 3:sqlserver2012分页方式   

select number 
from spt_values
where type='p'
order by number offset 10 rows fetch next 5 rows only;


五:字符串列需要包含匹配的查询

    例如可能得星期是:周一,周三

    前台搜索条件是周一,周三,周五

    我们应该把数据库星期为周一,周三的都查询出来

    可以先把条件分割成周一,周二,周三,然后分别和数据库的字段like一下


  六:按照某个条件进行排序

    --比如想让c排第一    此时后边的排序会受col排序的影响
select * from tb 
order by case when col='c' then 0  else 1 end,col,id


   --此时可以让c排第一,且后边的排序会受col排序的影响

select * from tb 
order by case when col='c' then 0  else 1 end,id


七:查询含有单引号的数据

  select * from Price_Port where NameEN like '%'+char(39)+'%'

   去掉单引号

   update Price_Port set NameEN = REPLACE(NameEN,'''','') where NameEN like '%'+char(39)+'%'



0
0
查看评论

几种使用sql写法

Q表达式 Q表达式可以处理换行、单引号等特殊字符 update t_sys_res_config_sql t    set t.query_sql = q'(long string)'  where t.bm_class_id = 'T_RC...
  • dong_19890208
  • dong_19890208
  • 2016-04-25 15:55
  • 193

SQL Update的四种常见写法

/* 实验对象:两个学生表 1. 一个stu学生表,一个stu1学生表. 2. 上述表有三个字段 (学生id,学生性别,学生名字) *//* update语句常见场景,分为两大类: 1.单表update 2.多表关联update */-- 1.1...
  • wuya814070935
  • wuya814070935
  • 2017-05-24 13:16
  • 2201

iOS开发笔记-两种单例模式的写法

单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h" static ServiceManager *defaultManager; @implementation ServiceMana...
  • cos_sin_tan
  • cos_sin_tan
  • 2016-06-02 15:36
  • 410

sublime text2 常用快捷方式及常用快捷写法

sublime text2 常用快捷方式:ctrl+n  新建wen
  • u014223679
  • u014223679
  • 2014-07-01 23:30
  • 1169

SQL中存储过程和函数的标准写法

之前一直用的存储过程,今天忽然又接触到跑算法获取返回值的问题,想到可以用函数,好久没用过一时忘了怎么写,还要现查,于是就记录下来,顺便连存储过程一块啦。 存储过程: CREATE PROC dbo.存储名 { @参数1 varchar(30)='', @参数2 数据...
  • u012630420
  • u012630420
  • 2017-03-01 16:23
  • 1810

sql对应mongodb的写法

参考自官网http://docs.mongodb.org/manual/reference/sql-comparison/ Insert The following table presents the various SQL statements related toinserting reco...
  • weiweicao0429
  • weiweicao0429
  • 2014-02-09 18:05
  • 913

【iOS】三种单例模式写法

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。一、(线程不安全)#import &quo...
  • sherman_yw
  • sherman_yw
  • 2017-04-01 23:54
  • 525

常用的三种异步写法

/*BackgroundWorker*/ 1:         using (var appinstruction = new BackgroundWorker())             { ...
  • wohhm
  • wohhm
  • 2016-12-08 18:34
  • 224

sql 外连接的写法。

我地经常见到sql语句中 left outer join...    right outer join...  其实对于新手来讲见到呢d字眼系最头痛的。首先现做个说明左外连接就是左连接右外连接就是右连接简称而已而左内 右内连接是不存在的下面做个详细讲解。首先建...
  • nvd11
  • nvd11
  • 2013-04-02 00:55
  • 1113

iOS之单例模式常见写法

单例模式可能是设计模式中最简单的形式了,这一模式的意图就是使得类中的一个对象成为系统中的唯一实例。它提供了对类的对象所提供的资源的全局访问点。因此需要用一种只允许生成对象类的唯一实例的机制。下面让我们来看下单例的作用: 可以保证的程序运行过程,一个类只有一个示例,而且该实例易于供外界访问从而方...
  • zhongbeida_xue
  • zhongbeida_xue
  • 2016-05-17 19:39
  • 3037
    个人资料
    • 访问:414661次
    • 积分:6338
    • 等级:
    • 排名:第4592名
    • 原创:229篇
    • 转载:75篇
    • 译文:0篇
    • 评论:71条
    最新评论