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

SQL查询重复数据和清除重复数据


有例表:emp
emp_no   name    age    
    001           Tom      17    
    002           Sun       14    
    003           Tom      15    
    004           Tom      16
要求:
列出所有名字重复的人的记录
(1)最直观的思路:要知道所有名字有重复人资料,首先必须知道哪个名字重复了:
select   name   from   emp       group   by   name     having   count(*)>1
所有名字重复人的记录是:
select   *   from   emp
    where name   in   (select   name   from   emp group   by   name having count(*)>1)
(2)稍微再聪明一点,就会想到,如果对每个名字都和原表进行比较,大于2个人名字与这条记录相同的就是合格的 ,就有
select   *   from   emp   where   (select   count(*)   from   emp   e    where   e.name=emp.name)   >1
--注意一下这个>1,想下如果是 =1,如果是 =2 如果是>2 如果 e 是另外一张表 而且是=0那结果 就更好玩了:)
这个过程是 在判断工号为001的 人 的时候先取得 001的 名字(emp.name) 然后和原表的名字进行比较 e.name
注意e是emp的一个别名。
再稍微想得多一点,就会想到,如果有另外一个名字相同的人工号不与她他相同那么这条记录符合要求:
select   *   from   emp    
    where   exists&


相关文档:

SQL基础

##   删除数据库
drop  database  ecport;
##   创建数据库
create   database   ecport;
##   使用数据库
use   ecport;

##   国家表结构
create   table COUNTRY(
     &nbs ......

java中如何以windows集成方式连接SQL Server

在《JDBC Driver For SQL2000/2005/2008
》一文中,邀月介绍了如何下载并使用jdbc连接SQL Server,
今天有人问起,如何以windows集成方式连接SQL Server,这个以前真没试过。
于是,打开netBeans测试了一下,代码如下:
/*
* To change this template, choose Tools | Templates
* and open the template in the edit ......

SQL SERVER 2005练习集1

入门篇
//////////////////////////////////////////// ­
%  : 表示0~n个任意字符 ­
_  : 表示单个任意字符 ­
[] :表示在括号里列出的任意字符 ­
[^]:表示任意个没有在括号中列出的字符 ­
***********************­
系统数据库­
MASTER数据库:­
   ......

sql where 和on 的区别

今天在论坛内看到一篇 面试题,是关于where 和on 的区别的,自己也不懂,在网上搜出一篇文章,加深自己的记忆

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
     在使用left jion时,on和where条件的区别如下:
1、 on条件 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号