考试辅导

名师推荐

试听名师的课 查看所有名师

计算机等级考试辅导:SQL语句里集合操作 发布时间:2010-06-29 17:29 来源:互联网

计算机等级考试辅导:SQL语句里集合操作

  学数学的时候都知道有交集和差集的概念。
  用SQL语句来表示交集和差集的时候会遇到很多小困难,比如条件有重复,编号有空等等。
  最近在处理一些歌曲列表是否有版权的时候就遇到过这些困难,现在把它们记录一下:
  copyright_songs表是有版权的歌曲清单 local_songs表是在用的歌曲清单
  生成歌曲名和歌手名都相同的交集用如下SQL:
  select distinct t2.id,t1.name,t1.singer,t1.id as local_id,t1.company,
  t2.company as copyright_company,t2.type
  into same_1
  from copyright_songs t2,local_songs t1
  where (t1.name=t2.name and t1.singer=t2.singer)
  如果歌曲名称里面带有括号,如:星语心愿(节奏版)第一考试网提示需要去掉歌曲里面括号后再比较.
  select * into local_songs_old from local_songs
  update local_songs set name=left(name,charindex(’(’,name)-1)
  where charindex(’(’,name)>0
  drop table same_1
  select distinct t2.id,t1.name,t1.singer,t1.id as local_id,t1.company,
  t2.company as copyright_company,t2.type
  into same_1
  from copyright_songs t2,local_songs t1
  where (t1.name=t2.name and t1.singer=t2.singer)
  显示歌曲名和歌手名都相同歌曲清单(交集)
  select * from same_1
  显示歌曲名和歌手名都相同歌曲清单,用原来带括号的歌曲名
  select distinct t1.id,t2.name,t1.singer,t1.local_id,t1.company,t1.num,t1.type
  from same_1 t1,local_songs_old t2
  where t1.t1_id=t2.id
  找到没有版权对应的歌曲列表
  显示编号是否有为空的记录
  select * from local_songs where id is null
  select * from same_1 where local_id is null
  去掉编号为空的记录
  delete from local_songs where id is null
  delete from same_1 where local_id is null
  生成本地歌曲表里面没有版权的歌曲清单(差集)
  select * into no_local_songs from local_songs
  where id not in (select local_id from same_1)
  显示本地歌曲表里面没有版权的歌曲清单
  select * from no_local_songs
  没有版权的歌曲就要屏蔽起来,不能再使用原来免费的互联网音乐来赢利了。

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《计算机等级考试辅导:SQL语句里集合操作》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta