SQL 删除上映时间小于 2010-01-01 且演员为苏晓的电影上映信息
DELETE FROM I WHERE idate < '2010-01-01' AND mno IN ( SELECT mno FROM M WHERE mno IN ( SELECT mno FROM R WHERE ano IN ( SELECT no FROM A WHERE name = '苏晓' ) ) );
该 SQL 语句用于删除所有上映时间小于 '2010-01-01' 并且演员姓名为 '苏晓' 的电影上映信息。
代码解释:
- DELETE FROM I: 从上映信息表 I 中删除数据。
- WHERE idate < '2010-01-01': 删除条件,上映时间小于 '2010-01-01'。
- AND mno IN ( ... ): 另一个删除条件,电影编号 mno 在嵌套子查询的结果中。
- SELECT mno FROM M WHERE mno IN ( ... ): 嵌套子查询,选择电影编号 mno 在第二个嵌套子查询的结果中。
- SELECT mno FROM R WHERE ano IN ( ... ): 嵌套子查询,选择电影编号 mno 在第三个嵌套子查询的结果中。
- SELECT no FROM A WHERE name = '苏晓': 最内层子查询,选择演员编号 no 对应的演员姓名为 '苏晓' 的记录。
数据表说明:
- A (演员表)
- no: 演员编号
- name: 演员姓名
- address: 演员地址
- gender: 演员性别
- birthday: 演员出生日期
- C (电影公司表)
- cno: 电影公司编号
- cname: 公司名称
- address: 公司地址
- tel: 公司电话
- M (电影表)
- mno: 电影编号
- name: 电影名称
- len: 电影长度
- year: 电影制作年份
- cno: 电影公司编号
- I (上映信息表)
- ino: 上映信息编号
- mno: 电影编号
- idate: 上映时间
- price: 电影票价
- R (电影演员关系表)
- rno: 关系编号
- mno: 电影编号
- ano: 演员编号
- rrole: 演员在电影中饰演角色名称
- rtime: 演员在电影中出现时间(分钟)
原文地址: http://www.cveoy.top/t/topic/osDT 著作权归作者所有。请勿转载和采集!