博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库实验 嵌套查询和连接查询
阅读量:3965 次
发布时间:2019-05-24

本文共 2338 字,大约阅读时间需要 7 分钟。

题目:

商品(编号,品名,进价,库存,售价,厂商编号)
顾客(卡号,姓名,电话,积分)
厂商(编号,厂址,名称、电话)
销售(顾客卡号,商品编号,数量,日期)
根据上面基本表的信息完成下列查询。
1 查询积分100以上的顾客买的商品名称和价格
2 查询比“伊利乳品”所有产品都贵的商品价格
3 查询库存不足100的商品名称和厂商名称及电话

要求:

1 第一个查询要求分别用连接查询和嵌套查询完成,给出查询命令、初始数据、执行果,比较不同方法的效率。
2 其它查询要求给出查询命令、初始数据、执行结果,说明你选择连接查询或嵌套查询的原因

具体操作:

create database studenton primary(	Name='student.mdf',	Filename='d:\student.mdf',	Size=5mb,	Maxsize=100mb,	Filegrowth=10%)log on(	Name='student.ldf',	Filename='d:\student.ldf',	Size=5,	Maxsize=unlimited,	Filegrowth=1mb)create table 商品(编号 bigint, 品名 nchar(30), 进价 float, 库存 int, 售价 float, 厂商编号 bigint, primary key(编号));create table 顾客(卡号 bigint, 姓名 nchar(15), 电话 bigint, 积分 float, primary key(卡号));create table 厂商(编号 bigint, 厂址 nchar(30), 名称 nchar(30), 电话 bigint, primary key(电话),);create table 销售(顾客卡号 bigint, 商品编号 bigint, 数量 int, 日期 nchar(20), primary key(顾客卡号),);alter table 商品add constraint fksc1check(进价 between 0 and 200)alter table 商品add constraint fksc2check(售价 between 20 and 300)alter table 顾客add constraint fksc3check(积分 between 0 and 5000)alter table 商品add constraint fksc4check(库存 between 0 and 1000)alter table 销售add constraint fksc5foreign key(商品编号) references 商品(编号)insert into 商品values(101,'伊利牛奶',88,205,100,3541);insert into 商品values(102,'蒙牛牛奶',90,98,120,3542);insert into 商品values(103,'旺旺牛奶',98,434,150,3543);insert into 顾客values(1702043,'王博',13709999999,89);insert into 顾客values(1702044,'李卫',15033333333,121);insert into 顾客values(1702045,'李帅',18004444444,105);insert into 厂商values(3541,'内蒙古','伊利乳品',14888888888);insert into 厂商values(3542,'内蒙古','蒙牛乳品',15044555555);insert into 厂商values(3543,'台湾','旺旺乳品',16099999999);insert into 销售values(1702043,101,5,'20190203');insert into 销售values(1702044,102,5,'20190204');insert into 销售values(1702045,103,5,'20190205');select * from 商品select * from 顾客select * from 厂商select * from 销售--第一题  嵌套查询select 品名'商品名称',售价'价格' from 商品where 编号 in 	(select 商品编号 	 from 销售	 where 顾客卡号 in		(select 卡号 		 from 顾客		 where 积分 > 100)	)	--第一题  连接查询①select 品名'商品名称',售价'价格' from 商品,销售,顾客where 积分>100 and 顾客.卡号=销售.顾客卡号and 销售.商品编号=商品.编号--第一题  连接查询②select 品名'商品名称',售价'价格' from 销售 join 顾客on 顾客.卡号=销售.顾客卡号join 商品on 销售.商品编号=商品.编号and 积分>100 --第二题select 售价'商品价格'from 商品where 售价 > 	(select MAX(售价) 	 from 商品	 where 厂商编号 in			(select 编号 		 from 厂商		 where 名称='伊利乳品')	 )--第三题select 品名'商品名称',名称'厂商名称',电话from 商品,厂商where 厂商编号=厂商.编号and 库存 < 100

转载地址:http://pxyki.baihongyu.com/

你可能感兴趣的文章
DB2 物化查询表
查看>>
IF 语句
查看>>
循环语句
查看>>
DB2 临时表
查看>>
ITERATE、LEAVE、GOTO和RETURN
查看>>
异常处理
查看>>
存储过程
查看>>
动态SQL(Dynamic SQL)
查看>>
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>
Spring 自定义对象初始化及销毁
查看>>
Spring Batch 环境设置
查看>>
字符组转译序列
查看>>
字符转译序列
查看>>