数据库表操作题

4、参见如下表结构
出版社:
出版社代码 char(2),
出版社名称 varchar2(32)

图书:
图书编号 char(8),
图书名称 varchar2(128),
出版社代码 char(2),
作者代号 char(4),
图书简介 varchar2(128)

作者:
作者代号 char(4),
作者名称 varchar2(10),
性别 char(1),
年龄 number(3),
文学方向 varchar2(64)

获奖名单:
获奖日期 date,
获奖人员 char(4)

编写SQL语句,找出“作者”库中没有出现在“获奖名单”库中所有作者信息的SQL语句(提示:使用not in、not exists以及外关联三种方法,并说明哪种方法最优)。
1、select * from 作者 where 作者.作者名称 not in(select 获奖人员 from 获奖名单)
2、select * from 作者 where not exists(select 获奖人员 from 获奖名单 where 作者.作者名称=获奖名单.获奖人员)
3、slect * from 作者 left join 获奖名单 on 作者.作者名称=获奖名单.获奖人员 where 获奖名单.获奖人员 is null
数据库的优化:外连接性能优于not exists,not exists优于not in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值