自己用的SQL语句
--1查询所有姓名重复的字段
select * FROM 表
WHERE 字段 in( select 字段 FROM 表 group by 字段 having count(1)>1)
--例子
SELECT id,xm,xb,zp FROM dbo.Ryxx
WHERE Xm IN( SELECT xm FROM dbo.Ryxx GROUP BY Xm HAVING COUNT(1) >1 )
--2更新字段
UPDATE dbo.Ryxx SET zp=NULL WHERE xm='王淑娟'
--3查询所有照片为空的人员信息,并排序
SELECT dbo.Ryxx.Id,xm,xb,Dw,Zp FROM dbo.Ryxx
JOIN dbo.Dw ON dbo.Ryxx.Gzdw = dbo.Dw.Id
WHERE Zp IS NULL ORDER BY id ASC
--4一个表中不重复的字段值插入另一个新表中,并根据新表中此字段的值对应的ID插入总表中
----查询去掉重复GZDW字段
--SELECT DISTINCT Gzdw FROM dbo.AA
----将去掉重复的列插入单位表中
--INSERT INTO dbo.Dw ( Dw ) SELECT DISTINCT Gzdw FROM dbo.AA
----将单位表中的ID更新到人员信息表
--update dbo.AA set AA.Gzdw = Dw.Id FROM dbo.AA,dbo.Dw where AA.Gzdw=Dw.Dw
--5联合查询生成工资信息表,要求显示工资停发信息表中ID最大,即最后录入的那条信息
SELECT ROW_NUMBER() OVER (ORDER BY dbo.Ryxx.Id ASC) AS id,Xm,Xb,Sfzh,Gzzh,Gzje,Tfsj,Tfyy,Bfsj,Bfyy FROM dbo.Ryxx
LEFT JOIN dbo.Gzxx ON dbo.Gzxx.Yid = dbo.Ryxx.Id
--下句意思是连接工资信息表,并且只连接ID最大的一条记录
AND dbo.Gzxx.Id IN (Select max(id) FROM dbo.Gzxx group by Yid
WHERE ryzt=1)