易截截图软件、单文件、免安装、纯绿色、仅160KB

sql查询汇总

-
处理表重复记录(查询和删除)
/*
*****************************************************************************************************************************************************
1、Num、Name相同的重复值记录,没有大小关系只保留一条
2、Name相同,ID有大小关系时,保留大或小其中一个记录
整理人:中国风(Roy)
日期:2008.06.06
*****************************************************************************************************************************************************
*/
--
1、用于查询重复处理记录(如果列没有大小关系时2000用生成自增列和临时表处理,SQL2005用row_number函数处理)
--
> --> (Roy)生成測試數據

if

not

object_id
(
'
Tempdb..#T
'
)
is

null

drop

table
#T
Go
Create

table
#T(
[
ID
]

int
,
[
Name
]

nvarchar
(
1
),
[
Memo
]

nvarchar
(
2
))
Insert
#T
select

1
,N
'
A
'
,N
'
A1
'

union

all
select

2
,N
'
A
'
,N
'
A2
'

union

all
select

3
,N
'
A
'
,N
'
A3
'

union

all
select

4
,N
'
B
'
,N
'
B1
'

union

all
select

5
,N
'
B
'
,N
'
B2
'
Go
--
I、Name相同ID最小的记录(推荐用1,2,3),方法3在SQl05时,效率高于1、2
方法1:
Select

*

from
#T a
where

not

exists
(
select

1

from
#T
where
Name
=
a.Name
and
ID
<
a.ID)
方法2:
select
a.
*

from
#T a
join
(
select

min
(ID)ID,Name
from
#T
group

by
Name) b
on
a.Name
=
b.Name
and
a.ID
=
b.ID
方法3:
select

*

from
#T a
where
ID
=
(
select

min
(ID)
from
#T
where
Name
=
a.Name)
方法4:
select
a.
*

from
#T a
join
#T b
on
a.Name
=
b.Name
and
a.ID
>=
b.ID
group

by
a.ID,a.Name,a.Memo
having

count
(
1
)
=
1

方法5:
select

*

from
#T a
group

by
ID,Name,Memo
having
ID
=
(
select

min
(ID)
from
#T
where
Name
=
a.Name)
方法6:
select



相关文档:

SQL WHERE 1=1

1=1或者'a'='a'等等恒等式是T-SQL中表达true的方法。因为在T-SQL中没有true这样的关键
字或值,所以需要借助这些恒等式来表达true的概念。
相对的,同样可以使用1<>1或者1=2等来表达false。
在应用程式的安全性方面,使用这些式子是SQL注入的基本原理,所以在拼接SQL语句的时候要过滤各种各样的敏感字
符。
当然 ......

简单的SQL面试题

1. Q. What is a join?
   A. Join is a process of retrieve pieces of data from different sets (tables) and returns them to the user or program as one joined collection of data.
2. Q. Can a table have more than one foreign key defined?
   A. A table can have any number of foreig ......

Java 连接 SQL Server 2000示例代码

你的SQL Server 2000必须打上SP3的补,然后安装Microsoft的JDBC驱动,将以下三个jar包复制到WebContent\WEB-INF\lib
msbase.jar
mssqlserver.jar
msutil.jar
下面是测试代码,没有报错数据库就能正常连接
 public class DbcTest {
/**
* @param args
*/
public static void main(String[] args) {
Str ......

在SQL中使用convert函数进行日期的查询

曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为y ......

sql行转列


写一个存储过程,将表一按照表二的形式进行查询。
仓库名称 商品名称 数量
A
S001 12
A S002 17
A
S003 10
B S001 21
B
S002 5
B S003 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号