首页 > 数据库 >实验二 SQL 语言的使用(1)

实验二 SQL 语言的使用(1)

时间:2023-05-23 11:35:49浏览次数:39  
标签:JOIN 语言 WHERE spj 实验 pno SQL jno SELECT

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

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

标签:JOIN,语言,WHERE,spj,实验,pno,SQL,jno,SELECT
From: https://www.cnblogs.com/yunbianshangdadun/p/17422794.html

相关文章

  • 实验二 SQL 语言的使用(实验体会)
    实验可以让学习者更深入地理解SQL语言的使用和操作。通过实验,学习者可以了解SQL语言的各种基础内容以及高级查询和操作方法。同时,实验也可以帮助学习者锻炼自己的问题解决能力和数据处理能力,让他们能够在日常工作中更加熟练地使用SQL语言完成自己的任务。总之,实验对于学习者来说是......
  • 数据库编程(SQL语言)实验体会
    首先需要在SQLServer数据库中创建一个名为[students]的数据库,在该数据库中创建三个表:Sudent表,包含字段Sno、Sname、Ssex、Sage、Sdept。Course表,包含字段Cno、Cname、Ccredit、Semester。SC表,包含字段Sno、Cno、Grade、XKLB。然后需要使用VB6设计一个......
  • 实验三 数据库完整性、安全性实现
    一、实验目的:使学生加深对数据库安全性和完整性的理解,并掌握SQLServer中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器以及存储过程。二、实验要求:通过实验对数据进行完整性控制、安全性维护。三、实验步骤:1、开始→程序→MicrosoftSQLServe......
  • 实验三 数据库完整性、安全性实现(实验体会)
    在这个实验中,您将会学习如何创建数据库、表和触发器,并使用存储过程来实现一些数据查询和操作。此外,我们还将探讨如何授权用户和角色以保证数据库的安全性。在具体操作之前,请先下载并安装SQLServerManagementStudio(SSMS),然后按照以下步骤进行实验:打开SSMS,连接到本地数据库......
  • 实验三 数据库完整性、安全性实现(1)
    以下是可能的代码示例:创建数据库students、创建表Student、Course和SCCopyCodeCREATEDATABASEstudentsGOUSEstudentsGOCREATETABLEStudent(Snochar(7)PRIMARYKEY,Snamechar(10)NOTNULL,Ssexchar(2),Sagetinyint,Sdeptchar(20))G......
  • 实验一 数据库和表的建立、数据操作
    实验一数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。二、实验要求:建立一个数据库stumanage,建立三个关系表student,course,sc。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。三、实验步骤:1、开始......
  • 实验一 数据库和表的建立、数据操作(1)
    建立数据库stumanage:SQLCopyCodeCREATEDATABASEstumanageON(NAME='stumanage_data',FILENAME='D:\stumanage\stumanage_data.mdf',SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=5MB)LOGON(NAME='stumanage_log',FILENAME=&......
  • 实验一 数据库和表的建立、数据操作(实验体会)
    我认为学习数据库和SQL语言对于今后从事计算机相关领域的工作和研究非常重要。通过这个实验,您深入了解了创建数据库和表、插入数据、数据修改和删除的方法,并学会了使用SQL语言进行数据操作。这将有助于您在未来的数据库设计和管理中获得更好的经验和技能。同时,也希望您能够不断......
  • 实验二 SQL 语言的使用
    实验二SQL语言的使用一、实验目的:掌握使用SQL语言进行各种查询的操作和视图的操纵方法。二、实验要求:在现有的数据库上进行各种查询操作,对视图的创建、使用等操作。三、实验步骤:1、开始→程序→MicrosoftSQLServer→SQLServerManagementStudio。2、在“连接到服......
  • Windows环境下配置MySQL主从复制详细教程
    ​一、下载mysql下载地址:MySQL::MySQLCommunityDownloads1、点击箭头所指​编辑 2、默认页面是下载mysql8,如果想下载mysql5点击箭头所指​编辑3、点击箭头所指选择需要的版本​编辑4、点击箭头所指可以选择32位或64位​编辑5、然后点击download​编辑二、解压压......