考试时间下午14:00~16:00分 共计2个小时
周考的目的是检验我们本周学习效果的一种方式,除了讲师知道大家的学习情况外,也可以检验一下自身的学习情况,做到查漏补缺,切勿作弊!
一、SQL题(40分)
某网上商城数据库如下图所示
#创建用户表create table user(userid int primary key auto_increment,username varchar(20) not null,password varchar(18) not null,address varchar(100),phone varchar(11));#创建分类表create table category(cid varchar(32) PRIMARY KEY ,cname varchar(100) not null #分类名称);#商品表CREATE TABLE products (pid VARCHAR(32) PRIMARY KEY,NAME VARCHAR(40),price DOUBLE(7,2),category_id VARCHAR(32),CONSTRAINT fk_products_category_id FOREIGN KEY(category_id) REFERENCES category(cid));#订单表CREATE TABLE orders(oid VARCHAR(32) PRIMARY KEY ,totalprice DOUBLE(12,2),userid INT ,CONSTRAINT fk_orders_userId FOREIGN KEY(userid) REFERENCES USER(userid) #外键);#订单项表create table orderitem(oid varchar(32), #订单idpid varchar(32), #商品idnum int , #购买商品数量primary key (oid, pid), #主键constraint fk_orderitem_oid foreign key(oid) references orders(oid),constraint fk_orderitem_pid foreign key(pid) references products(pid));#----------------------------------------------------------------#初始化数据#用户表添加数据INSERT INTO USER(username,PASSWORD, address,phone)VALUES( '张三','123','北京昌平沙河', '13812345678');INSERT INTO USER(username, PASSWORD, address, phone)VALUES('王五', '567','北京海淀', '13812345141');INSERT INTO USER(username,PASSWORD,address,phone)VALUES('赵六','123','北京朝阳','13812340987' );INSERT INTO USER(username, PASSWORD, address, phone)VALUES('田七', '123', '北京大兴', '13812345687');#给商品表初始化数据insert into products(pid,name,price,category_id)values('p001','联想5000',5000, 'c001');insert into products(pid,name,price,category_id)values('P002', '海尔3000',3000,'c001' );insert into products(pid,name,price,category_id)values('p003', '雷神','5000',5000,'c001');insert into products(pid,name,price,category_id)values('p004','JACK JONES',800,'C002');insert into products(pid,name,price,category_id)values('p005','真维斯',200,'002');insert into products(pid,name,price,category_id)values('p006', '花花公子',1440, 'C002' );insert into products(pid,name,price,category_id)values('p007','劲霸',2000,'c002');insert into products(pid,name,price,category_id)values('p008','香奈儿',800,'c003'):insert into products(pid,name,price,category.id)values('p009','相宜本草',1200,'C003');insert into products(pid,name,price,category_id)values( 'p010','梅明子',1200,null);#给分类表初始化数据insert into category values( 'c001','电器');insert into category values( 'c002','服饰');insert into category values( 'c003','化妆品');insert into category values( 'c004','书籍');#添加订单insert into orders values('o6100',18000.50,1);insert into orders values('o6101',7200.35,1);insert into orders values('o6102',600.00,2);insert into orders values('o6103',1300.26,4);#订单详情表insert into orderitem values('o6100','p001',1),('o6100','p002',1),('o6101','p003',1);
6.1 综合练习-【多表查询】
1>查询用户的订单,没有订单的用户不显示
2>查询所有用户的订单详情
3>查询所有订单的用户详情
6.2 综合练习2-【子查询】
1>查看用户为张三的订单详情
2>查询出订单的价格大于300的所有用户信息。
3>查询订单价格大于300的订单信息及相关用户的信息。
6.2 综合练习3-【分页查询】
1>查询所有订单信息,每页显示5条数据
二、SQL题目(30分)
有3 个表:【基础】
Student 学生表(学号,姓名,性别,年龄,组织部门)
id name sex age dept
Course 课程表(编号,课程名称)
id name
Sc 选课表(学号,课程编号,成绩)
stu_id sc_id score
表结构如下:
1)写一个SQL 语句,查询选修了’计算机原理’的学生学号和姓名
2)写一个SQL 语句,查询’周星驰’同学选修了的课程名字
3)写一个SQL 语句,查询选修了5 门课程的学生学号和姓名
三、Shell编程(30分)
1、编写Shell脚本,计算100以内的偶数和
2、编写Shell脚本,模拟登录
请输入用户名: 【此处输入用户名】请输入密码: 【此处输入密码,密文输入】【如果用户名为root,密码为123456,则提示登录成功,否则登录失败】
