【SQL解惑】谜题18:广告信件
来源:互联网 发布:C语言手写笔记图片 编辑:程序博客网 时间:2024/06/06 09:18
一、创建并插入数据
create table Consumers
(
con_name varchar(20) not null,
address varchar(10)not null,
con_id int not null,
fam int
)
insert into Consumers(con_name,address,con_id,fam)
values('Bob','A',1,null),
('Joe','B',3,null),
('Mark','C',5,null),
('Mary','A',2,1),
('Vickie','B',4,3),
('Wayne','D',6,null)
二、查询语句
1、解惑一
delete from Consumers
where fam is null
and (select COUNT(*)
from Consumers as c2
where c1.address = c2.address) > 1
2、解惑二
delete from Consumers
from Consumers as c1
where fam is null
and exists
(select *
from Consumers as c2
where c1.con_id <> c2.con_id
and c1.address = c2.address
and c2.fam is not null)
3、解惑三
delete from Consumers
from Consumers as c1
where c1.fam is null
and exists (select *
from Consumers as c2
where c2.fam = c1.con_id)
三、改进
select C1.*
from Consumers as c1
except
select C1.*
from Consumers as c1
where c1.con_id in (select fam
from Consumers as c3
where c3.address = c1.address)
由于语句的话只要筛选出需要删除的数据,然后再用except去反选即可。
阅读全文
0 0
- 【SQL解惑】谜题18:广告信件
- 【SQL解惑】谜题13:教师
- 【SQL解惑】谜题14:电话
- 邮件系统内部广告系统:广告模板信件中的宏定义
- 信件
- SQL解惑
- sql解惑2 谜题53 之lag
- SQL解惑-谜题32计算税收
- 【SQL解惑】谜题3:麻醉师谜题
- 【SQL解惑】谜题4:门禁卡
- 【SQL解惑】谜题7:跟踪投资组合
- 【SQL解惑】谜题8:调度打印机
- 【SQL解惑】谜题9:空座位
- 【SQL解惑】谜题11:工作顺序
- 【SQL解惑】谜题12:索赔状态
- 【SQL解惑】谜题19:销售冠军
- 【SQL解惑】谜题20:测验结果
- 【SQL解惑】谜题21:飞机与飞行员
- (作业)使用多线程实现一个网络服务访问程序
- 不使用中间变量交换两个变量(高端版本)
- CSS基础(12.background综合实例)
- JavaScript进制转换
- Kubernetes 1.9版本带来更大的稳定性和存储功能
- 【SQL解惑】谜题18:广告信件
- Android——MD风格转场动画
- 请教:关于substring函数的稳定性
- HDOJ1555 How many days?
- 代理模式
- 【SQL解惑】谜题19:销售冠军
- JVM垃圾回收机制
- maven项目,struts2+spring+mybatis框架搭建整合,tomcat部署,开发工具Idea
- [DP] HDU 1069