创建表

  • 电影表
CREATE TABLE Movies
(
    Code   INTEGER PRIMARY KEY NOT NULL,
    Title  TEXT                NOT NULL, -- 标题
    Rating TEXT                          --评分
);
  • 电影院表
CREATE TABLE MovieTheaters
(
    Code  INTEGER PRIMARY KEY NOT NULL,
    Name  TEXT                NOT NULL,--名称
    Movie INTEGER                      --电影
        CONSTRAINT fk_Movies_Code REFERENCES Movies (Code)
);

预置数据

  • 电影信息
INSERT INTO Movies
VALUES (9, 'Citizen King', 'G'),
       (1, 'Citizen Kane', 'PG'),
       (2, 'Singin'' in the Rain', 'G'),
       (3, 'The Wizard of Oz', 'G'),
       (4, 'The Quiet Man', NULL),
       (5, 'North by Northwest', NULL),
       (6, 'The Last Tango in Paris', 'NC-17'),
       (7, 'Some Like it Hot', 'PG-13'),
       (8, 'A Night at the Opera', NULL);
  • 影院信息
INSERT INTO MovieTheaters
VALUES (1, 'Odeon', 5),
       (2, 'Imperial', 1),
       (3, 'Majestic', NULL),
       (4, 'Royale', 6),
       (5, 'Paraiso', 3),
       (6, 'Nickelodeon', NULL);

题目

  1. 选择所有电影的标题
  2. 显示数据库中的所有不同评级
  3. 显示所有未评级的电影
  4. 选择当前未显示电影的所有电影院
  5. 选择所有电影院的所有数据,以及剧院中正在显示的电影中的数据(如果正在显示)
  6. 从所有电影中选择所有数据,如果该影片正在影院中显示,则显示影院中的数据
  7. 显示当前未在任何影院放映的影片的标题
  8. 添加未评级的电影One, Two, Three
  9. 将所有未评级影片的等级设为G
  10. 删除投影电影NC-17的电影院

答案

  1. 选择所有电影的标题
SELECT Title
FROM Movies;
  1. 显示数据库中的所有不同评级
SELECT DISTINCT Rating
FROM Movies;
  1. 显示所有未评级的电影
SELECT *
FROM Movies
WHERE Rating IS NULL;
  1. 选择当前未显示电影的所有电影院
SELECT *
FROM MovieTheaters
WHERE Movie IS NULL;
  1. 选择所有电影院的所有数据,以及剧院中正在显示的电影中的数据(如果正在显示)
SELECT *
FROM MovieTheaters
         LEFT JOIN Movies
                   ON MovieTheaters.Movie = Movies.Code;
  1. 从所有电影中选择所有数据,如果该影片正在影院中显示,则显示影院中的数据
SELECT *
FROM MovieTheaters
         RIGHT JOIN Movies
                    ON MovieTheaters.Movie = Movies.Code;
  1. 显示当前未在任何影院放映的影片的标题
/* With JOIN */
SELECT Movies.Title
FROM MovieTheaters
         RIGHT JOIN Movies
                    ON MovieTheaters.Movie = Movies.Code
WHERE MovieTheaters.Movie IS NULL;

/* With subquery */
SELECT Title
FROM Movies
WHERE Code NOT IN
      (
          SELECT Movie
          FROM MovieTheaters
          WHERE Movie IS NOT NULL
      );
  1. 添加未评级的电影One, Two, Three
INSERT INTO Movies
VALUES (10, 'One, Two, Three', NULL);
  1. 将所有未评级影片的等级设为G
UPDATE Movies
SET Rating='G'
WHERE Rating IS NULL;
  1. 删除投影电影NC-17的电影院
DELETE
FROM MovieTheaters
WHERE Movie IN
      (SELECT Code FROM Movies WHERE Rating = 'NC-17');

相关说明:

1、VIP会员无限制任意下载,免积分。立即前往开通>>

2、下载积分可通过日常 签到绑定邮箱 以及 积分兑换 等途径获得!

3、本站资源大多存储在云盘,如出现链接失效请评论反馈,如有密码,均为:www.ipipn.com。

4、所有站内资源仅供学习交流使用。未经原版权作者许可,禁止用于任何商业环境,否则后果自负。为尊重作者版权,请购买正版作品。

5、站内资源来源于网络公开发表文件或网友分享,如侵犯您的权益,请联系管理员处理。

6、本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!

7、源码、模板等资源会随着技术、坏境的升级而存在部分问题,还请慎重选择。

PS.源码均收集自网络,如有侵犯阁下权益,请发信件至: admin@ipipn.com .


源站网 » SQL语句练习-电影院

发表评论

赞助本站发展 维持服务器消耗

全站源码免费下载 立刻赞助