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: 演员在电影中出现时间(分钟)
SQL 删除上映时间小于 2010-01-01 且演员为苏晓的电影上映信息

原文地址: http://www.cveoy.top/t/topic/osDT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录