您的位置:首页 > 汽车 > 时评 > SQL编程题复习(24/9/14)

SQL编程题复习(24/9/14)

2024/12/23 10:43:19 来源:https://blog.csdn.net/Virgo_616/article/details/142280178  浏览:    关键词:SQL编程题复习(24/9/14)

练习题 x40

  • 10-153 向订单表中插入一条新记录,订单编号是10331,顾客编号是J101,员工编号是023
  • 10-154 向顾客表中插入一条新记录,顾客编号是Z001,公司名称是“大胜教育”,城市是“淄博”
  • 10-155 将订单表中2015年以前(包括2015年)的订单数据删除
  • 10-156 将顾客表中顾客编号最后两位是“10”和“11”的记录删除
  • 10-157 在读者表中查询账户余额的最高值和最低值
  • 10-158 向借阅表中插入一条记录,账号是D004,条形码是TP204.2
  • 10-159 本题目要求编写SQL语句,将图书表中科学出版社出版的图书价格上涨5%
  • 10-160 查询图书表中2018年出版的图书的数目
  • 10-161 查询图书表中各出版社图书的数目,要求过滤掉数目为1的数据
  • 10-162 查询图书表中全部图书的平均售价
  • 10-163 查询图书表中各出版社图书的数目,结果按图书数目降序排序
  • 10-164 查询图书表中全部图书的最高售价
  • 10-165 查询图书表中科学出版社出版的价格在50元以上的图书的信息,要求结果中包括书名,作者,出版社和售价4列
  • 10-166 查询图书表中全部图书的最低售价
  • 10-167 查询特定订单的详细信息
  • 10-168 查询图书表中未录入出版社信息的图书,要求结果中包含条形码,书名,出版社3列
  • 10-169 查询图书表中李凯所著的图书,要求查询结果中包括条形码,书名,作者,出版社4列
  • 10-170 查询供应商及其供应的产品情况
  • 10-171 将下述事实存入数据库:生产厂商C制造的型号为1100的PC机,速度240,内存32,硬盘2.5G,售价2499美元
  • 10-172 统计职工表(employees)中职务(Title)的个数,并重命名为countTitle
  • 10-173 查询PC的平均速度
  • 10-174 查询价格超过2500美元的便携式电脑的平均速度
  • 10-175 查询订单表(orders)的平均运费,并将其重命名为avgFreight
  • 10-176 在产品表(products)中查询最低的单价(UnitPrice),并重命名为minUnitPrice
  • 10-177 在产品表(products)中查询最多的库存数量(UnitsInStock),并重命名为maxUnitsInStock
  • 10-178 在订单表中查找特定国家且平均运费不小于10的信息
  • 10-179 查找产品表中再次订购量大于15的产品信息
  • 10-180 查找产品表中再次订购量大于等于10且修订量大于订货数量的产品信息
  • 10-181 查询传真号码不为空的供货商信息
  • 10-182 在顾客表中找出特定名字的顾客信息
  • 10-183 查询产品表中单价不在范围内的的产品信息
  • 10-184 查询电影M3中的男影星
  • 10-185 查询st1制片公司的总裁
  • 10-186 根据所在国家查找订单信息
  • 10-187 查询出顾客表(customers)中所有不重复的所在城市(City)
  • 10-188 在产品表中找出库存数量大于50的产品的信息
  • 10-189 查询比电影M1时间更长的电影
  • 10-190 检索出printer表中所有彩色打印机的元组
  • 10-191 检索出pc表中具有1GB以上的硬盘容量而价格低于2000美元的所有个人计算机的型号(model)、速度(speed)以及硬盘容量(hd)
  • 10-192 检索出 Studio表中制片公司st1的地址

10-153 向订单表中插入一条新记录,订单编号是10331,顾客编号是J101,员工编号是023

insert into 订单(订单编号,顾客编号,员工编号)
values
('10331','J101','023')

10-154 向顾客表中插入一条新记录,顾客编号是Z001,公司名称是“大胜教育”,城市是“淄博”

insert into 顾客(顾客编号,公司名称,城市)
values
('Z001','大胜教育','淄博')-- 需要插入什么就写什么,其它可以不管

10-155 将订单表中2015年以前(包括2015年)的订单数据删除

delete 
from 订单
where year(订单日期)<=2015-- 审题
-- 包括2015年

10-156 将顾客表中顾客编号最后两位是“10”和“11”的记录删除

-- -- 方法一
-- delete 
-- from 顾客
-- where 顾客编号 like '%10'
-- or 顾客编号 like '%11'  -- 使用 or-- 将顾客表中顾客编号最后两位是“10”和“11”的记录删除-- 方法二,使用 right 函数指定后两位
delete 
from 顾客
where right(顾客编号,2) in ('10','11')

10-157 在读者表中查询账户余额的最高值和最低值

select max(余额) 最高余额,min(余额) 最低余额
from 读者

10-158 向借阅表中插入一条记录,账号是D004,条形码是TP204.2

insert into 借阅(账号,条形码)
values('D004','TP204.2')

10-159 本题目要求编写SQL语句,将图书表中科学出版社出版的图书价格上涨5%

update 图书
set 售价=售价*1.05
where 出版社='科学出版社'

10-160 查询图书表中2018年出版的图书的数目

select count(*) 2018年出版的图书数目
from 图书
where year(出版日期)=2018

10-161 查询图书表中各出版社图书的数目,要求过滤掉数目为1的数据

select 出版社,count(*) 图书数目
from 图书
group by 出版社
having 图书数目 <> 1-- SQL语句 执行顺序
from ...,... -> on -> (left/rigth join) -> where -> group by 
-> having -> select -> distinct -> order by -> limit

10-162 查询图书表中全部图书的平均售价

select avg(售价) 平均售价
from 图书

10-163 查询图书表中各出版社图书的数目,结果按图书数目降序排序

-- ok
-- select 出版社,count(*) 图书数目
-- from 图书
-- group by 出版社
-- order by count(*) descselect 出版社,count(*) 图书数目
from 图书
group by 出版社
order by 图书数目 desc-- SQL语句执行顺序
from ...,... -> on -> (left/rigth join) -> where -> group by 
-> having -> select -> distinct -> order by -> limit 

10-164 查询图书表中全部图书的最高售价

select max(售价) 最高售价
from 图书

10-165 查询图书表中科学出版社出版的价格在50元以上的图书的信息,要求结果中包括书名,作者,出版社和售价4列

select 书名,作者,出版社,售价
from 图书
where 出版社 = '科学出版社'
and 售价>50

10-166 查询图书表中全部图书的最低售价

select min(售价) 最低售价
from 图书

10-167 查询特定订单的详细信息

查找城市(City)是Madrid的顾客,所下的订单详细信息,显示为:顾客编号(CustomerID),公司名称(CompanyName),订单编号(OrderID),产品编号(ProductID)

select orders.CustomerID,CompanyName,orders.OrderID,ProductID
from orders
join orderdetails on orders.OrderID=orderdetails.OrderID
join customers on orders.CustomerID=customers.CustomerID-- 又臭又长的几个表 直接内连接
-- 避免 ambiguous 错误

10-168 查询图书表中未录入出版社信息的图书,要求结果中包含条形码,书名,出版社3列

select 条形码,书名,出版社
from 图书
where 出版社 <=> null
-- limit 0,3
limit 3

10-169 查询图书表中李凯所著的图书,要求查询结果中包括条形码,书名,作者,出版社4列

select 条形码,书名,作者,出版社
from 图书
where 作者 = '李凯'

10-170 查询供应商及其供应的产品情况

查找提供产品的各个供应商名称及其供应的产品,显示为:产品编号(ProductID),产品名称(ProductName),供应商编号(SupplierID),公司名称(CompanyName)

select ProductID,ProductName,products.SupplierID,CompanyName
from products,suppliers
where products.SupplierID=suppliers.SupplierID-- 又臭又长的表 咔咔连接就行了,
-- 要什么查什么,注意避免 ambiguous 错误

10-171 将下述事实存入数据库:生产厂商C制造的型号为1100的PC机,速度240,内存32,硬盘2.5G,售价2499美元

insert into product(maker,model,type)
values('C','1100','个人电脑');
insert into pc(model,speed,ram,hd,cd,price)
values('1100',240,32,2.50,null,2499)

10-172 统计职工表(employees)中职务(Title)的个数,并重命名为countTitle

select count(distinct Title) countTitle
from employees-- distinct 去重!!!
-- 统计职工表中职务的数量

10-173 查询PC的平均速度

select avg(speed) avg_speed
from pc

10-174 查询价格超过2500美元的便携式电脑的平均速度

select avg(speed) avg_speed
from laptop
where price>2500

10-175 查询订单表(orders)的平均运费,并将其重命名为avgFreight

select avg(Freight) avgFreight
from orders

10-176 在产品表(products)中查询最低的单价(UnitPrice),并重命名为minUnitPrice

select min(UnitPrice) minUnitPrice
from products

10-177 在产品表(products)中查询最多的库存数量(UnitsInStock),并重命名为maxUnitsInStock

select max(UnitsInStock) maxUnitsInStock
from products

10-178 在订单表中查找特定国家且平均运费不小于10的信息

查询订单表(orders)中查找所在国家(ShipCountry)为Belgium,Switzerland,且平均运费不小于10的的顾客及运费信息,结果显示为顾客编号(CustomerID)和平均运费(avgFreight)

select CustomerID,avg(Freight) avgFreight
from orders
where ShipCountry in('Belgium','Switzerland')
group by CustomerID
having avg(Freight)>10

10-179 查找产品表中再次订购量大于15的产品信息

在产品表(products)中找出再次订购量(ReorderLevel)大于15的产品的产品编号(ProductID),产品名称(ProductName)和供货商编号(SupplierID)

select ProductID,ProductName,SupplierID
from products
where ReorderLevel > 15

10-180 查找产品表中再次订购量大于等于10且修订量大于订货数量的产品信息

在产品表(products)中找出再次订购量(ReorderLevel)大于等于10,且再次订购量(ReorderLevel)大于订购数量(UnitsOnOrder)的产品的产品编号(ProductID),产品名称(ProductName)和供货商编号(SupplierID)

select ProductID,ProductName,SupplierID
from products
where ReorderLevel>=10
and ReorderLevel > UnitsOnOrder-- 再次订购量(ReorderLevel)大于等于10 并且
-- 再次订购量(ReorderLevel)大于订购数量(UnitsOnOrder)
-- 的产品的信息-- 输出样例纯纯shit

10-181 查询传真号码不为空的供货商信息

在供货商(suppliers)中查找传真号码(Fax)不为NULL的供货商信息供货商编号(SupplierID),公司名称(CompanyName)

select SupplierID,CompanyName
from suppliers
-- where not Fax <=> null   -- 方法一
where Fax is not null       -- 方法二

10-182 在顾客表中找出特定名字的顾客信息

在顾客表(customers)中找出公司名(CompanyName)中包含字符串th的顾客编号和公司名称

select CustomerID,CompanyName
from customers
where CompanyName like '%th%'-- 包含

10-183 查询产品表中单价不在范围内的的产品信息

在产品表(products)中查询单价(UnitPrice)小于15或大于45的产品的产品编号(ProductID),产品名称(ProductName)和种类编号(CategoryID)

select ProductID,ProductName,CategoryID
from products
where UnitPrice < 15 
or UnitPrice > 45 

10-184 查询电影M3中的男影星

select name
from StarsIn
left join MovieStar on StarsIn.starName=MovieStar.name
where StarsIn.movieTitle='M3'
and MovieStar.gender='M'-- 理清思路

10-185 查询st1制片公司的总裁

select name            -- 2
from MovieExec
where certID in(select presCertID  -- 1from Studiowhere name='st1'
)-- 1.在Studio表查st1公司的 presCertID
-- 2.在MovieExec表中certID列 匹配 presCertID

10-186 根据所在国家查找订单信息

在订单表(orders)中找出所在国家(ShipCountry)是Germany或Brazil或France的订单编号(OrderID)和顾客编号(CustomerID)

select OrderID,CustomerID
from orders
where ShipCountry in ("Germany","Brazil","France")-- 注意审题

10-187 查询出顾客表(customers)中所有不重复的所在城市(City)

select distinct City
from customers

10-188 在产品表中找出库存数量大于50的产品的信息

select ProductID,ProductName
from products
where UnitsInStock>50

10-189 查询比电影M1时间更长的电影

select title,`year`
from Movie
where length > (select lengthfrom Moviewhere title='M1'
)-- 若列名和关键字重名,
-- 使用``包围该变量

10-190 检索出printer表中所有彩色打印机的元组

select *
from printer
where color=1

10-191 检索出pc表中具有1GB以上的硬盘容量而价格低于2000美元的所有个人计算机的型号(model)、速度(speed)以及硬盘容量(hd)

select model,speed,hd
from pc
where hd>1 
and price<2000

10-192 检索出 Studio表中制片公司st1的地址

select address
from Studio
where name='st1'

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com