当前位置: 首页 > news >正文

数据库的查询

  1. 实验内容
  1. 设(三建工程项目)有一个SPJ数据库,包括S、P、J及SPJ四个关系模式:

S(SNO,SNAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,Q

零件表P由零件零件代码(PNO)、零件TY); 

   供应商S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商的在城市(CITY)组成。

名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某工程项目的数量为QTY。

今有若干数据如下:

S表:

SNO

SNAME

STATUS

CITY

S1

精益

20

天津

S2

盛锡

10

北京

S3

东方红

30

北京

S4

丰泰盛

20

天津

S5

为民

30

上海

P表:

PNO

PNAME

COLOR

WEIGHT

P1

螺母

12

P2

螺栓

绿

17

P3

螺丝刀

14

P4

螺丝刀

14

P5

凸轮

40

P6

齿轮

30

J表:

JNO

JNAME

CITY

J1

三建

北京

J2

一汽

长春

J3

弹簧厂

天津

J4

造船厂

天津

J5

机车厂

唐山

J6

无线电厂

常州

J7

半导体厂

南京

SPJ表:

SNO

PNO

JNO

QTY

S1

P1

J1

200

S1

P1

J3

100

S1

P1

J4

700

S1

P2

J2

100

S2

P3

J1

400

S2

P3

J2

200

S2

P3

J4

500

S2

P3

J5

400

S2

P5

J1

400

S2

P5

J2

100

S3

P1

J1

200

S3

P3

J1

200

S4

P5

J1

100

S4

P6

J3

300

S4

P6

J4

200

S5

P2

J4

100

S5

P3

J1

200

S5

P6

J2

200

S5

P6

J4

500

  1. 求供应工程J1零件的供应商号码SNO。
  2. 求供应工程J1零件P1的供应商号码SNO。
  3. 求供应工程J1零件为红色的供应商号码SNO。
  4. 求没有使用天津供应商生产的红色零件的工程号JNO。
  5. 求至少用了供应商S1所供应的全部零件的工程号JNO。
  1. 打开database
  2. 启动MySQL数据库.bat,不能关闭
  3. 启动MySQL管理工具.bat
  4. 输入密码,打开X5\spj\spj\ -HeidiSQL Poortable 9.3.0.4984

5、输入代码:

Show databases;

drop database SPJ;

create database SPJ;

#使用SPJ数据库

use SPJ;

show tables;

-- 创建S表

create table S(

SNO varchar(20)primary key,

SNAME varchar(20) not null unique,

STATU int not null,

CITY  char(20)

);

-- 创建P表

create table P(

PNO varchar(20)primary key,

PNAME varchar(20) not null ,

COLOR varchar(20) not null,

WEIGHT int not null

);

-- 创建J表

create table J(

JNO varchar(20)primary key,

JNAME varchar(20) not null,

CITY char(20)

-- constraint fk_bcid foreign key(CITY) references S(CITY)

);

-- 创建SPJ表

create table SPJ(

SNO varchar(20),

PNO varchar(20),

JNO varchar(20),

QTY int not null,

primary key(SNO,PNO ,JNO)

);

-- 插入S表数据

insert into S(SNO ,SNAME ,STATU ,CITY )values

('S1','精益',20,'天津'),

('S2','盛锡',10,'北京'),

('S3','东方红',30,'北京'),

('S4','丰泰盛',20,'天津'),

('S5','为民',30,'上海');

-- 插入P表数据

insert into P(PNO,PNAME ,COLOR ,WEIGHT )values

('P1','螺母','红',12),

('P2','螺栓','绿',17),

('P3','螺丝刀','蓝',14),

('P4','螺丝刀','红',14),

('P5','凸轮','蓝',40),

('P6','齿轮','红',30);

-- 插入J表数据

insert into J(JNO,JNAME ,CITY)values

('J1','三建','北京'),

('J2','一汽','常春'),

('J3','弹簧厂','天津'),

('J4','造船厂','天津'),

('J5','机车厂','唐山'),

('J6','无线电厂','常州'),

('J7','半导体厂','南京');

-- 插入SPJ表数据

insert into SPJ(SNO,PNO,JNO,QTY)values

('S1','P1','J1',200),

('S1','P1','J3',100),

('S1','P1','J4',700),

('S1','P2','J2',100),

('S2','P3','J1',400),

('S2','P3','J2',200),

('S2','P3','J4',500),

('S2','P3','J5',400),

('S2','P5','J1',400),

('S2','P5','J2',100),

('S3','P1','J1',200),

('S3','P3','J1',200),

('S4','P5','J1',100),

('S4','P6','J3',300),

('S4','P6','J4',200),

('S5','P2','J4',100),

('S5','P3','J1',200),

('S5','P6','J2',200),

('S5','P6','J4',500);

-- 2求供应工程J1零件的供应商号码SNO

select SNO from SPJ where JNO = 'J1';

-- 3求供应工程J1零件P1的供应商号码SNO

select SNO from SPJ where JNO = 'J1'and PNO='P1';

-- 4求供应工程J1零件为红色的供应商号码SNO

select SNO from SPJ,P  where JNO = 'J1'and SPJ.PNO=P.PNO and P.COLOR='红';

-- 5求没有使用天津供应商生产的红色零件的工程号JNO

select JNO

from SPJ

where not  exists

(select * from SPJ ,S,P  where SPJ.SNO=S.SNO and SPJ.PNO=P.PNO and s.CITY = '天津' and P.COLOR='红');

select JNO

from SPJ

where PNO in(select PNO

from P

where COLOR='红')

and SNO not in(select SNO

from S

where CITY='天津');

-- 6求至少用了供应商S1所供应的全部零件的工程号JNO

select distinct PNO

from SPJ

where SNO='S1';

select JNO

from SPJ

where PNO='P1' and JNO in (select JNO from SPJ where PNO='P2');

X5\spj\spj\ -HeidiSQL Poortable 9.3.0.4984等实验环境

http://www.lryc.cn/news/571228.html

相关文章:

  • 游戏技能编辑器开发完全指南系统架构设计之技能编辑器整体架构
  • RISC-V向量扩展与GPU协处理:开源加速器设计新范式——对比NVDLA与香山架构的指令集融合方案
  • 【开源工具】Windows屏幕控制大师:息屏+亮度调节+快捷键一体化解决方案
  • 数字化零售如何全面优化顾客体验
  • 【SpringBoot】Spring Boot实现SSE实时推送实战
  • TDMQ CKafka 版事务:分布式环境下的消息一致性保障
  • 工业视觉应用开发教程(一)
  • KingbaseES在线体验平台:开启国产数据库学习新征程
  • Mybatis(XML映射文件、动态SQL)
  • 有趣的git
  • 机器学习项目微服务离线移植
  • 洪水风险图制作全流程:HEC-RAS 与 ArcGIS 的耦合应用
  • Rocky Linux 9 系统初始化与安全加固脚本
  • MySQL的Sql优化经验总结
  • 大模型知识库RAG框架,比如LangChain、ChatChat、FastGPT等等,哪个效果比较好
  • 执行 PGPT_PROFILES=ollama make run下面报错,
  • HTML知识全解析:从入门到精通的前端指南(上)
  • (OSGB转3DTiles强大工具)ModelSer--强大的实景三维数据分布式管理平台
  • 内测分发平台应用的异地容灾和负载均衡处理和实现思路?
  • 【前端基础】摩天之建的艺术:html(上)
  • 点云提取车道线 识别车道线
  • Rust 学习笔记:关于 OOP 和 trait 对象的练习题
  • 基于CNN的FashionMNIST数据集识别6——DenseNet模型
  • KingbaseES在线体验平台深度测评:基于MCP接口管理的Oracle风格SQL实战
  • 不同建模方式的介绍 RTL建模笔记(1)
  • 【技术】记一次 Docker 中的 ES 数据迁移,使用 Reindex API
  • C++初阶-queue和deque(队列和双端队列)
  • 台积电(TSMC)工艺库命名规则
  • 在 HTTP 请求返回的状态码不为 200 时,重新发送请求
  • idea中配置svn及提交提示“未检测到更改”提示