数据库SQL语句练习题(一)

    技术2022-07-10  118

    一、题目描述

    某健身俱乐部开发一个信息管理系统,该信息系统的部分关系模式如下: 会员(会员手机号,姓名,折扣) 项目(项目名称,项目经理,价格) 消费(流水号,会员手机号,项目名称,消费金额,消费日期) (1)新建消费表,要求指定关系的主键和外键,以及消费金额大于零的约束。(说明:流水号char(12),会员手机号char(11),项目名称varchar(20),消费金额numeric(20,2), 消费日期date) (2) 修改姓名为“李丽”,项目名称为“健身操”的消费金额为200元。 (3)查询没有会员消费过的项目。(IN和EXISTS) (4)往消费表增加一条信息(流水号: 202004160001,会员手机号: 13912345678,项目名称:普拉提,消费金额: 200消费日期: 2020/4/16)。

    (5)删除会员陈明的所有消费信息。 (6)列出所负责项目的消费总金额大于20万(200000) 的项经理。 (7)建立视图VW1得到消费信息,包括以下属性:流水号,会员手机号,姓名,项目名称,项目经理,消费金额。

    二、问题解答

    (1) ①

    Create table 消费( 流水号char (12) primary key, 会员手机号char (11), 项目名称varchar(20), 消费金额numeric(20,2) check(消费金额>0), 消费日期date, foreign key(会员手机号) references会员(会员手机号) , foreign key(项目名称) references项目(项目名称) )

    Create table 消费( 流水号char (12) primary key, 会员手机号char (11) references会员, 项目名称varchar(20) references项目, 消费金额numeric(20,2) check( 消费金额>0), 消费日期date )

    (2)

    update消费 set 消费金额=200 where会员手机号in (select会员手机号from 会员where姓名='李丽') and项目名称='健身操';

    (3) ①IN

    Select * From项目 Where项目名称not in(select 项目名称from消费)

    ②EXISTS

    Select * From项目 Where not exists (select * from 消费where项目名称=项目.项目名称)

    (4)

    Insert into 消费 Values ('202004160001',' 13912345678','普拉提',200, '2020/4/16')

    (5)

    Delete from消费 Where会员手机号in(select会员手机号from会员where姓名='陈明')

    (6)

    select项目经理,sum(消费金额)from项目,消费 where项目.项目名称=消费.项目名称 group by项目经理 having sum(消费金额)> 200000

    (7)

    create view VW1(流水号,会员手机号,姓名,项目名称,项目经理,消费金额) select流水号,消费.会员手机号,姓名,消费.项目名称,项目经理,消费金额 from会员,项目,消费 where消费.会员手机号=会员.会员手机号and 消费.项目名称=项目.项目名称

    有不足之处希望大家多多指正哟~

    Processed: 0.013, SQL: 9