嵌套查询和连接查询

一 实验题目:嵌套查询和连接查询

二 实验目的:加深对嵌套查询和连接查询的理解,比较两种方法的不同。

三 实验内容及要求:

题目中第一个查询用连接查询和嵌套查询两种方法完成,其它查询要求用一种方法是先即可。

图书(书号,书名,作者编号,价格,出版社编号)

作者(编号,姓名,电话)

出版社(编号,出版社名称,地址)

根据上面基本表的信息完成下列查询。

1 查询价格10元以下的图书作者信息

2 查询比“张力”写的书都便宜的图书信息

3 查询高教出版社出版的图书书名和作者姓名


/*首先在C盘中新建文件夹“数据库实验->数据库实验三”,准备将创建的数据库存入*/
create database 图书信息数据库
on primary
(
name=bookdata,
filename='E:\sql课程实验\实验\Y',
size=10MB,
maxsize=50MB,
filegrowth=25%
)
log on
(
name=booklog,
filename='E:\sql课程实验\实验\X',
size=10MB,
maxsize=50MB,
filegrowth=2MB
)

/*使用已经建立的数据库建表*/

--作者作者
use 图书信息数据库
create table 作者
(
作者编号 Char(11)primary key,--编号
作者姓名 Char(32),--姓名
作者电话 Char(11)unique--电话
)

--出版社出版社
use 图书信息数据库
create table 出版社
(
出版社编号 Char(11)primary key,--编号
出版社名称 Char(32)default '空',--名称
出版社地址 Char(60)--地址
)

--图书图书
use 图书信息数据库
create table 图书
(
书号 Char(20)primary key,--书号
书名 Char(32),--书名
作者编号 Char(11)foreign key references 作者(作者编号),--作者编号
图书价格 float check (图书价格>0 and 图书价格<=300),--价格
出版社编号 Char(11)foreign key references 出版社(出版社编号),--出版社编号
)

/*在建好的表内填入数据*/

--作者(编号,姓名,电话)
insert into  作者 values('hm1356489','何马','15326486532'),
('zal153264','张爱玲','17456825463'),
('am9564876','艾米','17356248956'),
('xdl84659235','萧东楼','13264596320'),
('jzl3502135','蒋子龙','15230300264'),
('kbt6231520','卡波特','1352603265'),
('zl4865486','张力','15956423587')

--出版社(编号,名称,地址)
insert into 出版社 values('cq1532649','重庆出版社','重庆市沙坪坝区大学城西路21号'),
('ahwy15649','安徽文艺出版社','安徽省合肥市政务文化新区翡翠路1118号出版传媒广场13楼'),
('qy8465913','群言出版社','北京市东城区东厂北巷北京市第六十五中学东北侧约220米'),
('js643256','江苏文艺出版社','江苏南京湖南路47号'),
('bj3512649','北京大学出版社','北京市海淀区成府路205号'),
('gj95634659','高教出版社','北京市西城区德外大街4号')

--图书(书号,书名,作者编号,价格,出版社编号)
insert into 图书 values('zdmm20080401','藏地密码','hm1356489','24.80','cq1532649');
insert into 图书 values('zalwj20061201','张爱玲文集','zal153264','168.00','ahwy15649');
insert into 图书 values('zsby20081001','至死不渝','am9564876','6.80','qy8465913');
insert into 图书 values('szszl20081001','山楂树之恋','am9564876','28.00','js643256');
insert into 图书 values('ltjzj20081001','猎头局中局','xdl84659235','29.80','bj3512649');
insert into 图书 values('nmdg20080901','农民帝国','jzl3502135','58.00','gj95634659');
insert into 图书 values('tfndzc20081001','蒂凡尼的早餐','kbt6231520','5.00','gj95634659');
insert into 图书 values('gkylccxl20120601','高考乐理冲刺训练 ','zl4865486','9.70','gj95634659')


--1、连接查询
select 作者.*,图书价格,书名
from 作者,图书
where 图书.作者编号=作者.作者编号 and 图书价格<10

--1、嵌套查询
select 作者.* ,图书价格,书名
from 作者,图书
where 作者.作者编号=图书.作者编号 and 图书价格 in
(
select 图书价格
from 图书
where 图书价格<10
)

--2、嵌套查询
select 图书.* from 图书
where 图书价格 <
(
	select 图书价格 from 图书 
	where 作者编号=
	(
		select 作者编号 from 作者
		where 作者姓名='张力'
	)
)

--3、连接查询
select 书名,作者姓名
from 图书,作者,出版社
where 出版社名称='高教出版社' 
	and 作者.作者编号=图书.作者编号 
	and 图书.出版社编号=出版社.出版社编号

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_1_7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值