数据库实验2—1

10-1 查询重量在[40,65]之间的产品信息

本题目要求编写SQL语句,
检索出product表中所有符合40 <= Weight <= 65的记录。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE `product` (
  `Pid` varchar(20),   --商品编号
  `PName` varchar(50), --商品名称
  `Weight` decimal(10, 3)    --重量
);

表样例

product表:

PidPNameWeight
P01M6螺栓30
P02M8螺栓40
P03M16螺栓140
P04螺帽30
P05螺母45
P06垫片10
P07铰链70
P21螺钉3

输出样例:

PidPNameWeight
P02M8螺栓40
P05螺母45

select Pid,PName,Weight
from product
where 40<=Weight and Weight<=65

10-2 查询姓刘的员工信息 

本题目要求编写SQL语句,
检索出employee表中姓刘的员工信息。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE `employee` (
  `Eid` varchar(10),   --职工编号
  `EName` varchar(30), --职工姓名
  `Wno` varchar(10),   --所在仓库
  `Salary` int(11)     --职工工资
);

表样例

employee表:

EidENameWnoSalary
0010张三A013600
0011刘勇A012700
0012张立A018500
0021刘靖A022500
0022王强A025600
0023李军5000
0031王林3500

输出样例:

EidENameWnoSalary
0011刘勇A012700
0021刘靖A022500

select Eid,EName,Wno,Salary
from employee
where EName like '刘%'

ps:%代表后面多个任意,_代表单个任意

10-3 查询仓库号为'A01'的所有员工信息,并按照工资降序排列 

本题目要求编写SQL语句,
检索出employee表中仓库号为’A01’的所有员工信息,并按照工资降序排列。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE `employee` (
  `Eid` varchar(10),   --职工编号
  `EName` varchar(30), --职工姓名
  `Wno` varchar(10),   --所在仓库
  `Salary` int(11)     --职工工资
);

表样例

employee表:

EidENameWnoSalary
0010张三A013600
0011刘勇A012700
0012张立A018500
0021刘靖A022500
0022王强A025600
0023李军5000
0031王林3500

输出样例:

EidENameWnoSalary
0012张立A018500
0010张三A013600
0011刘勇A012700

select Eid,EName,Wno,Salary 
from employee
where Wno ='A01'
order by Salary desc  

ps:asc是升序,desc是降序

10-4 查询Product表中登记日期在2019年的商品信息 

要求编写SQL语句,查询Product表中登记日期在2019年的商品信息,并按销售价格降序排列。

表结构:

CREATE TABLE Product
(product_id      CHAR(4)      NOT NULL, --商品编号
 product_name    VARCHAR(100) NOT NULL, --商品名称
 product_type    VARCHAR(32)  NOT NULL, --商品种类
 sale_price      INTEGER ,              --销售价格
 purchase_price  INTEGER ,              --进货价格
 regist_date     DATE ,                 --登记日期
 PRIMARY KEY (product_id)); 

表样例

Product

图1.png

输出样例:

Product

图2.png

select *
from Product
where year(regist_date)=2019
order by sale_price desc

10-5 查询所在城市为‘上海’或‘杭州’的仓库编号

本题目要求编写SQL语句,
检索出warehouse表中``所在城市为‘上海’或‘杭州’的仓库编号```的记录。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE `warehouse` (
  `Wno` varchar(10),   --仓库编号
  `City` varchar(20),  --所在城市
  `Size` int(11),      --面积
);

表样例

warehouse表:

WnoCitySize
A01杭州15000
A02建德5000
B01宁波1200
B02奉化7500
C01温州10000
C02乐清8000
D01绍兴11000

输出样例:

Wno
A01

select Wno
from warehouse
where City='上海' or City='杭州'

 10-6 查询销售过的产品编号

例如:本题目要求编写SQL语句,
检索出orders表中所有销售过的产品编号

提示:请使用SELECT语句作答。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `orders` (
  `OrdNo` int(11),   --订单编号
  `Sid` varchar(10), --供应商编号
  `Eid` varchar(10), --职工编号
  `Pid` varchar(20), --商品编号
  `Price` decimal(10,2), --价格
  `QTY` int(11),     --订购数量
  `ordDate` date    --订单日期
);

表样例

orders表:

OrdNoSidEidPidPriceQTYordDate
1S010011P0111232022-02-13
2S020012P0112252022-02-14
3S030012P0360552022-02-14

输出样例:

请在这里给出输出样例。例如:

Pid
P01
P03
select distinct Pid
from orders

 ps:distinct 的作用就是去重 注意 他们的顺序,distinct是在selsect的后面

 10-7 查询每个供应商的信息及其供货的订单编号

本题目要求编写SQL语句,
查询每个供应商的信息及其供货的订单编号。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE `orders` (
  `OrdNo` int(11),   --订单编号
  `Sid` varchar(10), --供应商编号
  `Eid` varchar(10), --职工编号
  `Pid` varchar(20), --商品编号
  `Price` decimal(10,2), --价格
  `QTY` int(11),     --订购数量
  `ordDate` date    --订单日期
);

CREATE TABLE `supplier` (
  `Sid` varchar(10),   --供应商编号
  `SName` varchar(50), --供应商名称
  `City` varchar(20)   --供应商地址
);

表样例

orders表:

OrdNoSidEidPidPriceQTYordDate
1S010011P0111232022-02-13
2S020012P0112252022-02-14
3S030012P0360552022-02-14

supplier表:

SidSNameCity
S01东风机械厂武汉
S02天鹰紧固件厂温州
S05长城机电杭州

输出样例:

b.SidSNameCity,OrdNo
S01东风机械厂武汉1
S02天鹰紧固件厂温州2
S02天鹰紧固件厂温州3

select 
orders.Sid,
supplier.SName,
supplier.City,
orders.OrdNo

from orders

join supplier on supplier.Sid=orders.Sid

10-8 计算Product表中销售价格的最大值和进货价格的最小值 

要求编写SQL语句,查询Product表中销售价格的最大值和进货价格的最小值。

表结构:

CREATE TABLE Product
(product_id      CHAR(4)      NOT NULL, --商品编号
 product_name    VARCHAR(100) NOT NULL, --商品名称
 product_type    VARCHAR(32)  NOT NULL, --商品种类
 sale_price      INTEGER ,              --销售价格
 purchase_price  INTEGER ,              --进货价格
 regist_date     DATE ,                 --登记日期
 PRIMARY KEY (product_id)); 

表样例:

Product

图1.png

输出样例:

Product

图2.png

SELECT   
    MAX(sale_price) AS top_sale,
    MIN(purchase_price) AS bottom_pur
FROM   
    Product;

 as是起别名的意思

10-9 查询每名职工的工号和姓名及所属的仓库编号和所在城市

本题目要求使用外连接来编写SQL语句,
查询每名职工的工号和姓名及所属的仓库编号和所在城市。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE `employee` (
  `Eid` varchar(10),   --职工编号
  `EName` varchar(30), --职工姓名
  `Wno` varchar(10),   --所在仓库
  `Salary` int(11)     --职工工资
);
CREATE TABLE `warehouse` (
  `Wno` varchar(10),   --仓库编号
  `City` varchar(20),  --所在城市
  `Size` int(11),      --面积
);

表样例

employee表:

EidENameWnoSalary
0010张三A013600
0011刘勇A012700
0012张立A018500
0021刘靖A022500
0022王强A025600
0023李军5000
0031王林3500

warehouse表:

WnoCitySize
A01杭州15000
A02建德5000
B01宁波1200
B02奉化7500
C01温州10000
C02乐清8000
D01绍兴11000

输出样例:

EidENameWnoCity
0010张三A01杭州
0011刘勇A01杭州
0012张立A01杭州
0021刘靖A02建德
0022王强A02建德
0023李军
0031王林
 select employee.Eid,employee.EName,employee.Wno,warehouse.City
from employee
left join warehouse on employee.Wno = warehouse.Wno

left的作用就是让它没有对应的时候默认为null

10-10 查询所有产品名中包含’螺母’的产品种类数 

本题目要求编写SQL语句,
检索出product表中所有产品名中包含’螺母’的产品种类数。

提示:请使用SELECT语句作答。

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `product` (
  `Pid` varchar(20),   --商品编号
  `PName` varchar(50), --商品名称
  `Weight` decimal(10, 3)    --重量
);

表样例

product表:

PidPNameWeight
P01M6螺栓30
P02M8螺栓40
P03M16螺栓140
P04螺帽30
P05螺母45
P06垫片10
P07铰链70
P21螺钉3

输出样例:

请在这里给出输出样例。例如:

count(*)
1

select count(*)
from product
where PName like '%螺母%'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值