首页 > 其他分享 >6.17

6.17

时间:2024-06-17 14:22:38浏览次数:24  
标签:insert into 6.17 查询 spj values pno

实验二 SQL 语言的使用 一、实验目的: 掌握使用 SQL 语言进行各种查询的操作和视图的操纵方法。 二、实验要求: 在现有的数据库上进行各种查询操作,对视图的创建、使用等操作。 三、实验步骤: 1、 开始→程序→Microsoft SQL Server→SQL Server Management Studio。 2、 在“连接到服务器”对话框中,选择“Windows 身份验证”,点击“连接”,进 入 SQL Server Management Studio 操作界面。 3、单击“新建查询”按钮,在上部的空白区导入文件“实验二 SQL 语句.doc”中 的 SQL 语句,然后单击工具栏上 “执行”按钮(红色叹号)。建立起实验要操 作的数据库 test1,并在库中建立表、数据。下部的空白区显示该语句的运行情 况。(注:以下操作均在上部的空白区输入 SQL 语句,单击执行后,下部的空 白区显示该语句的运行情况。) 4、在数据库 test1 中进行下列查询操作,将查询语句与结果写入实验报告。 (1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称降序排列。 ( 2)查询所有零件情况,先按零件名称升序排列,零件名称相同按重量降序排列。 ( 3)查询项目名中含有“厂”的项目情况。 ( 4)查询供应商名称中第二个字为“方”的供应商情况。 ( 5)查询所有零件中的最大、最小、平均重量。 ( 6)查询零件中名为“螺丝刀”的零件的种类数、平均重量。 ( 7)查询供应商 S1 所供应的各种零件的名称和数量。 ( 8)查询工程 J1 所使用的各种零件的名称和数量。 ( 9)查询没有使用红色螺丝刀的工程名称。 (10)查询没有供应红色螺丝刀的供应商名称。(11)查询所用零件数量超过 500 的工程项目号。 (12)查询所用零件种类超过 3 种的工程项目名称。 (13)查询使用了全部零件的工程项目名称。 (14)查询至少供应了工程 J1 所使用的全部零件的供应商名称。 (15)查询供应情况,显示内容为供应商名称、零件名、工程名称、数量。 (16)查询“东方红”供应商供应情况,显示供应的零件名、工程名称、数量。 5、请为机车厂工程项目建立一个供应情况的视图,包括供应商代码,零件代码, 供应数量。针对该试图完成如下查询并将 SQL 语句写入实验报告。 ( 1)查询机车厂工程项目使用的各种零件代码及其数量。 ( 2)查询处供应商 S2 的供应情况。 6、 在 SQL Server Management Stdio 中了解关于数据库管理的各种直接操作的方 法。将了解的内容写入实验报告。 说明:具体表结构和数据以及要做的各种数据操作可以灵活掌握,可以针对 其它数据库进行操作,具体情况由任课老师作出明确要求。 四、实验报告注意事项及要求: 1、实验报告一律用“石家庄铁道大学实验报告纸”书写。 2、实验报告中明确写明姓名、班级、学号、实验时间、实验名称等各项表头。 3、实验报告各项完整:实验名称、实验内容、实验完成情况(包括实验设计思想、 主要技术问题的处理方法、实验过程等)、其他(说明、分析、建议、体会等)。附录二:实验二 SQL 语句 1、 创建数据库: create database test1; 2、 创建二维表: Create table s( Sno char(2) primary key, sname varchar(10) not null, status int, city varchar(10)); create table p( pno char(2) primary key, pname varchar(10) not null, color varchar(6), weight int); create table j( jno char(2) primary key, jname varchar(20) not null, city varchar(10)); create table spj( sno char(2) foreign key references s(sno), pno char(2) foreign key references p(pno), jno char(2) foreign key references j(jno), qty int, primary key(sno,pno,jno)); 3、 为各二维表插入数据: insert into s values('s1','精益',20,'天津'); insert into s values('s2','盛德',10,'北京');insert into s values('s3','东方红',30,'北京'); insert into s values('s4','丰泰盛',20,'天津'); insert into s values('s5','为民',30,'上海'); insert into p values('p1','螺母','红',12); insert into p values('p2','螺栓','绿',17); insert into p values('p3','螺丝刀','蓝',14); insert into p values('p4','螺丝刀','红',14); insert into p values('p5','凸轮','蓝',40); insert into p values('p6','齿轮','红',30); insert into j values('j1','三建','北京'); insert into j values('j2','一汽','长春'); insert into j values('j3','弹簧厂','天津') insert into j values('j4','造船厂','天津') insert into j values('j5','机车厂','唐山'); insert into j values('j6','无线电厂','常州'); insert into j values('j7','半导体厂','南京'); insert into spj values('s1','p1','j1',200); insert into spj values('s1','p1','j3',100); insert into spj values('s1','p1','j4',700); insert into spj values('s1','p2','j2',100); insert into spj values('s2','p3','j1',400); insert into spj values('s2','p3','j2',200); insert into spj values('s2','p3','j4',500); insert into spj values('s2','p3','j5',400); insert into spj values('s2','p5','j1',400); insert into spj values('s2','p5','j2',100); insert into spj values('s3','p1','j1',200); insert into spj values('s3','p3','j1',200);insert into spj values('s4','p5','j1',100); insert into spj values('s4','p6','j3',300); insert into spj values('s4','p6','j4',200); insert into spj values('s5','p2','j4',100); insert int`o spj values('s5','p3','j1',200); insert into spj values('s5','p6','j2',200); insert into spj values('s5','p6','j4',500)

  1. 打开 SQL Server Management Studio。
  2. 连接到测试数据库 test1。
  3. 在 New Query 窗口中输入以下 SQL 语句进行查询: (1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称降序排列。

SELECT * FROM s ORDER BY city ASC, sname DESC

(2)查询所有零件情况,先按零件名称升序排列,零件名称相同按重量降序排列。

SELECT * FROM p ORDER BY pname ASC, weight DESC

(3)查询项目名中含有“厂”的项目情况。

SELECT * FROM j WHERE jname LIKE '%厂%'

(4)查询供应商名称中第二个字为“方”的供应商情况。

SELECT * FROM s WHERE sname LIKE '_方%'

(5)查询所有零件中的最大、最小、平均重量。

SELECT MAX(weight), MIN(weight), AVG(weight) FROM p

(6)查询零件中名为“螺丝刀”的零件的种类数、平均重量。

SELECT COUNT(*) AS '种类数' ,AVG(weight) AS '平均重量' FROM p WHERE pname = '螺丝刀'

(7)查询供应商 S1 所供应的各种零件的名称和数量。

SELECT p.pname, spj.qty FROM spj JOIN p ON spj.pno = p.pno WHERE spj.sno = 's1'

(8)查询工程 J1 所使用的各种零件的名称和数量。

SELECT p.pname, spj.qty FROM spj JOIN p ON spj.pno = p.pno WHERE spj.jno = 'j1'

(9)查询没有使用红色螺丝刀的工程名称。

SELECT DISTINCT j.jname FROM spj JOIN j ON spj.jno = j.jno JOIN p ON spj.pno = p.pno WHERE p.pname <> '螺丝刀' OR p.color <> '红'

(10)查询没有供应红色螺丝刀的供应商名称。

SELECT s.sname FROM s WHERE NOT EXISTS ( SELECT * FROM spj JOIN p ON spj.pno = p.pno WHERE s.sno = spj.sno AND p.pname = '螺丝刀' AND p.color = '红' )

(11)查询所用零件数量超过 500 的工程项目号。

SELECT spj.jno FROM spj GROUP BY spj.jno HAVING SUM(qty) > 500

(12)查询所用零件种类超过 3 种的工程项目名称。

SELECT j.jname FROM spj JOIN j ON spj.jno = j.jno GROUP BY spj.jno, j.jname HAVING COUNT(DISTINCT spj.pno) > 3

(13)查询使用了全部零件的工程项目名称。

SELECT j.jname FROM j WHERE NOT EXISTS ( SELECT * FROM p WHERE NOT EXISTS ( SELECT * FROM spj WHERE spj.jno = j.jno AND spj.pno = p.pno ) )

(14)查询至少供应了工程 J1 所使用的全部零件的供应商名称。

SELECT s.sname FROM spj JOIN p ON spj.pno = p.pno JOIN s ON spj.sno = s.sno WHERE NOT EXISTS ( SELECT * FROM spj WHERE spj.jno = 'j1' AND spj.pno NOT IN ( SELECT pno FROM spj WHERE jno = 'j1' ) AND spj.sno = s.sno )

(15)查询供应情况,显示内容为供应商名称、零件名、工程名称、数量。

SELECT s.sname, p.pname, j.jname, spj.qty FROM spj JOIN s ON spj.sno = s.sno JOIN p ON spj.pno = p.pno JOIN j ON spj.jno = j.jno

(16)查询“东方红”供应商供应情况,显示供应的零件名、工程名称、数量。

SELECT p.pname, j.jname, spj.qty FROM spj JOIN s ON spj.sno = s.sno JOIN p ON spj.pno = p.pno JOIN j ON spj.jno = j.jno WHERE s.sname = '东方红'

  1. 为机车厂工程项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量。

CREATE VIEW supply_view AS SELECT spj.sno, spj.pno, spj.qty FROM spj JOIN j ON spj.jno = j.jno WHERE j.jname = '机车厂'

(1)查询机车厂工程项目使用的各种零件代码及其数量。

SELECT p.pno, SUM(spj.qty) as quantity FROM spj JOIN p ON spj.pno = p.pno WHERE spj.jno = 'j5' GROUP BY p.pno

(2)查询处供应商 S2 的供应情况。

SELECT p.pname, spj.qty FROM spj JOIN p ON spj.pno = p.pno WHERE spj.sno = 's2'

  1. 关于数据库管理的各种直接操作的方法,您可以了解以下内容:
  • 创建新的数据库
  • 创建/删除表
  • 修改表结构
  • 插入/更新/删除数据
  • 创建/删除索引
  • 执行存储过程/函数
  • 创建/删除触发器
  • 管理用户和权限

以上是一些常见的操作,您可以根据实际需求进行学习和使用。

标签:insert,into,6.17,查询,spj,values,pno
From: https://www.cnblogs.com/binglinll/p/18252284

相关文章

  • DxO PhotoLab 6 for Mac(智能raw图片编辑器)v6.17.0.72版
    DxOPhotoLab6是一款专为Mac用户设计的照片编辑软件,旨在帮助用户轻松增强和优化他们的照片。它集成了丰富的工具集,涵盖了曝光、颜色、锐度和降噪等关键编辑需求。该软件尤其以其卓越的RAW处理技术著称,能够显著提升各种相机型号RAW文件的质量。此外,DxOPhotoLab6还提供了镜头......
  • 2000.1-2022.06.17中国经济政策不确定性指数日度数据
    2000.1-2022.06.17中国经济政策不确定性指数数据(日度)1、时间:2001.1.1-2022.06.172、指标:CNEPU(经济政策不确定性指数)3、来源:ChinaEconomicPolicyUncertaintyIndex4、用途:可用于量化我国经济政策的不确定性,预测宏观经济增长,分析政策波动对企业的影响5、指标解释:中国经济......
  • 第15.16.17章学习笔记
    实际上的问题II15.1大整数的运算所有公钥中的计算都是基于大整数运算。如我们曾提及的,恰当地实现大整数运算并不是一件容易的事情。大多数的处理例程总是或多或少地与平台相关。能够通过平台特性得到的有效率提升总是难以发挥实际作用。比如,多数CPU有一种带进位加法运算(add-wi......
  • 《近期回忆录》2023.6.17
    我们都是行走在镜面边缘的人。低下头看到的,是半个迷茫的自己,和半个不见底的深渊。——百度贴吧noip,《行走在镜面的边缘》记2023.5.5-2023.6.17,谨以此送给一个半月以来疯狂的自己。 日志阶段性sum瞎扯(bushi)  2023.5.7新的开始NOCAI创新编程初赛&&蓝桥......
  • 电脑快捷键6.17
    Ctrl+A:全选Ctrl+C:复制Ctrl+V:粘贴Ctrl+Z:撤销Ctrl+X:剪切Alt+F4:关闭窗口win+R:运行win+E:我的电脑win+Tab:切换应用程序Ctrl+Shift+Esc:打开任务管理器win+D:回到桌面Shift+Delete:永久删除Ctrl+Shift:切换输入法Ctrl+S:保存......
  • 2023.6.17 每日一题
    原题链接B:CodeforcesRound691(Div.1)-AB.RowGCD-1600题目大意给定两列大正数\(a_1,\dots,a_n\)和\(b_1,\dots,b_m\),现在要求\(a_1+b_j,\dots,a_n+b_j\)的最大公约数。解题思路暴力一个个找不TLE才怪了,我们需要找到每次运算的公共特征。我们知道对......
  • MIT 6.172 lec1笔记
    为何要做性能工程性能是购买软件各种特性的货币:我们可以牺牲性能来换取下图中的属性2004年之后,多核处理器流行了起来。其中每个独立的处理器核都可以参与各种运算,但性能工程仍然复杂因为其涉及到多个方面。如何编写软件来最大化利用硬件,这是此系列课程将要解决的问题。程序优......
  • MIT 6.172 lec2笔记
    本节课介绍了优化的一些法则从以下四个方面介绍了优化法则Datastructures包装与编码包装的思想是把多个数据值存储在一个机器字中,而编码的思想是把数据值转换为需要更少比特表示的形式。例如日期字符串"September11,2018"可以转换为下图中的结构体,其中year为13位,month为......
  • 【LeetCode】面试题 16.17. 连续数列(C++)
    面试题16.17.连续数列​​1题目描述​​​​2示例描述​​​​3解题思路​​​​4源码详解(C++)​​1题目描述给定一个整数数组,找出总和最大的连续数列,并返回总和。2......