第四章作业

班级:0401304  姓名:邓小俊学号:2013211526


3.

<pre name="code" class="sql">create table 服装(
	服装编号 varchar(4) not null unique,
	品牌 varchar(20),
	型号 varchar(5),
	颜色 varchar(2),
	价格 int,
	primary key(服装编号)
);

 

create table 顾客(
	顾客编号 	varchar(4) not null unique,
	姓名 varchar(20),
	性别 varchar(2),
	年龄 int,
	电话 varchar(11),
	primary key(顾客编号)
);

create table 购买记录 (
	服装编号 varchar(4),
	顾客编号 varchar(4),
	购买日期 date,
	数量 int,
	primary key(服装编号,顾客编号),
	foreign key(服装编号)references 服装(服装编号),
	foreign key(顾客编号)references 顾客(顾客编号)
);

SELECT 服装编号,型号,颜色,价格 FROM 服装 where 品牌='佐丹奴';

select DISTINCT 姓名,电话 from 顾客,购买记录,服装 where 顾客.顾客编号=购买记录.顾客编号 and 购买记录.服装编号= 服装.服装编号 and 品牌='美津浓';

select * from 顾客 where not exists (select * from 购买记录 where 顾客编号=顾客.顾客编号);

SELECT * from `顾客` where not EXISTS(select * from `服装` where 品牌='佐丹奴' AND not EXISTS (SELECT *from `购买记录`where `顾客编号`=`顾客`.`顾客编号`AND 服装编号=服装.`服装编号`));


4.

CREATE TABLE `课程` (
  `课程号` varchar(20) NOT NULL,
  `课程名` varchar(20) DEFAULT NULL,
  `学分` float DEFAULT NULL,
  `先行课程号` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`课程号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `选修` (
  `学号` varchar(10) DEFAULT NULL,
  `课程号` varchar(20) DEFAULT NULL,
  `成绩` float DEFAULT NULL,
  KEY `学号` (`学号`),
  KEY `课程号` (`课程号`),
  CONSTRAINT `@9009@4fee_ibfk_1` FOREIGN KEY (`学号`) REFERENCES `学生` (`学号`),
  CONSTRAINT `@9009@4fee_ibfk_2` FOREIGN KEY (`课程号`) REFERENCES `课程` (`课程号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `学生` (
  `学号` varchar(10) NOT NULL,
  `姓名` varchar(20) DEFAULT NULL,
  `专业` varchar(20) DEFAULT NULL,
  `年龄` int(11) DEFAULT NULL,
  PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

select * FROM 学生 where 专业='通信工程';

SELECT 课程号,学分 from 课程;

select 课程号,成绩 from `学生`,`选修` where 姓名='张珊'AND `学生`.`学号`=`选修`.`学号`;

SELECT `学生`.`学号` FROM 学生 where not EXISTS (select * from 课程 where NOT EXISTS (SELECT * FROM `选修` where `课程`.`课程号`=选修.`课程号`AND `选修`.`学号`=`学生`.`学号`));

select 学号 from `选修` where 课程号 is null;

select 学号 from 课程,选修 where 课程名 = '数据库原理' and `选修`.课程号 = 先行课程号;

delete FROM 选修 where 学号='9501';
select * from 选修;


delete FROM 选修 where 学号='9501';
select * from 选修;
(其中数据因为建表时没考虑周全临时将9503选的课程号改为db01)

delete FROM 选修 where 学号='9501';
select * from 选修;

select * FROM 数据库成绩信息 where 成绩<90;

(因前面执行删除操作后数据库中已无成绩大于90的成绩,故此处做成绩小于90的查询)

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值