SQL语句积累

原创 2006年05月24日 11:58:00

1.       获得某一栏位有重复的记录:

declare @tab table(number1 int,number2 int,content varchar(20))

insert @tab values(2,3,'abc')

insert @tab values(2,4,'bb')

insert @tab values(2,5,'abc')

insert @tab values(3,6,'ccc')

insert @tab values(3,7,'ccc')

insert @tab values(6,3,'dd')

select * from @tab where content in(select content from @tab group by content having count(content)>1)

select distinct * from @tab t where (select count(content) from @tab where t.content=content)>1

2.       按拼音排序

select * from titles  order by type collate Chinese_PRC_CS_AS_KS_WS

3.       @@rowcount 表中记录数量

4.       每个分组中第二大的值

declare @t table (N int ,W bit)

insert into @t select 2005001,0

union all select 2005002,0

union all select 2005003,0

union all select 2005200,1

union all select 2005201,1

union all select 2005202,1

select * from @t where n in (select max(N) as N from @t  where N not in (select max(n) as N from @t group by w  ) group by w)

5.      

 

create  table a

(编码varchar(20),名称varchar(20),数量int,日期varchar(20))

create  table b

(编码varchar(20),名称varchar(20),数量int,日期varchar(20))

create  table c

(编码varchar(20),名称varchar(20),数量int,日期varchar(20))

 

insert a

select '001','aa',100,'1-1' union all

select '002','bb',20,'1-1'

 

insert b

select '001','aa',100,'1-20' union all

select '002','bb',110,'1-1' union all

select '003','cc',10,'1-4'

 

insert c

select '001','aa',100,'1-1'

 

select * from a

inner join b on a.编码=b.编码

select * from a

left join b on a.编码=b.编码

select * from a

full join b on a.编码=b.编码

select

isnull(a.编码,isnull(b.编码,c.编码)) as 编码

,isnull(a.名称,isnull(b.名称,c.名称)) as 名称

,isnull(a.数量,0) as a数量

,isnull(b.数量,0) as b数量

,isnull(c.数量,0) as c数量

 

from a

full join  b on a.编码=b.编码

full join  c on a.编码=c.编码

 

 

drop table a

drop table b

drop table c

6.      

 

declare @t table (tid int)

insert into @t select 1

insert into @t select 2

insert into @t select 3

insert into @t select 4

insert into @t select 5

insert into @t select 7

insert into @t select 9

insert into @t select 10

select min(tid) as tid from (select tid+1 as tid from @t where tid+1 not in (select * from @t)) t

 

declare @tid int

select @tid = min(tid) from @t

 

while exists(select 1 from @t where tid = @tid)

begin

set @tid = @tid + 1

end

 

select @tid

-----------------------------------------------

select min(t.a) from (select tid+1 a from @t t where not exists(select 1 from @t where tid = t.tid+1)) t

SQL Server语句积累

1.  给建好的表添加某个字段添加唯一约束 ALTER TABLE UserAccountBasicInfo add unique (列名) 2. 获取表字段及其说明的SQL intern...

【经验积累】SQL语句

表中有字段dfhm(对方号码),thsc(通话时长),ID 要求统计出所有记录中,和哪些人的通话中有60%以上的通话时间不足5秒的对方号码,总通话次数,不足5秒的次数 ,比率,平均通话时长 查询结...

常用SQL语句积累---

一、常用的语句格式积累: Select top 3 * from class order by id desc 表示查询前3条的数据并且按降来排 select distinct 年龄 from cla...

oracle 常用sql语句积累

1.删除重复列 delete from t t1 where t1.rowid not in(select min(rowid) from t t2 where t1.age=t2.age) 2.获...

常用oracle sql函数及语句积累

SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数: 以上四个函数都是用于如何处理字段为空的情况。 在SQL Server / MS Access中,使...

自己积累的一些SQL语句

--查询外键 select oSub.name AS [子表名称], fk.name AS [外键名称], SubCol.name AS [子表列名], oMain.name ...

全国地名sql语句

  • 2017年12月05日 10:20
  • 3.16MB
  • 下载

sql常用语句

  • 2017年10月30日 11:40
  • 54KB
  • 下载

SQL语句的运用——数据库操作

【insert】 SQL 语句执行添加 【delete】 SQL 语句执行删除 【update 】 SQL 语句执行修改 【select 】 SQL 语句执行查询 ...
  • zuji366
  • zuji366
  • 2017年12月07日 13:41
  • 12

数据库sql语句学习

  • 2016年02月01日 14:11
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL语句积累
举报原因:
原因补充:

(最多只允许输入30个字)