数据库实验1:SQL查询操作

合集下载

sql数据库实验报告

sql数据库实验报告

sql数据库实验报告目录1. 实验概述 (2)1.1 实验目的 (2)1.2 实验背景 (3)1.3 实验内容 (4)1.4 实验环境 (5)2. 数据库设计 (5)2.1 数据库概念 (6)2.2 表结构设计 (8)2.2.1 表1名称及字段定义 (9)2.2.2 表2名称及字段定义 (10)2.3 关系约束 (11)3. SQL语句操作 (12)3.1 数据插入 (13)3.2 数据查询 (14)3.2.1 根据条件查询 (15)3.2.2 聚合函数查询 (16)3.2.3 连接查询 (17)3.3 数据更新 (18)3.4 数据删除 (20)4. 实验结果展示 (21)4.1 SQL语句执行结果 (22)4.2 数据分析及解释 (22)4.2.1 查询结果的意义 (24)4.2.2 数据之间的关系性分析 (24)5. 实验总结与展望 (25)5.1 实验总结 (26)5.2 总结得到的经验与教训 (27)5.3 进一步研究建议 (29)1. 实验概述本实验旨在通过实践操作,实验内容涵盖了常见数据库操作,包括表创建、数据插入、查询、修改和删除。

通过完成实验,我们将学习如何使用SQL语句来管理和处理数据库数据,掌握常用的 SELECT、INSERT、UPDATE、DELETE 语句以及 JOIN 操作等,并熟悉数据库的操作流程和概念。

本实验旨在提升 SQL 数据库操作技能,并为后续更深入的数据库学习和应用打下基础。

您可以根据实际实验内容对以上段落进行修改和完善,具体修改点包括:明确实验的主题和目标,例如:实验主题可能是某个特定数据库管理系统(如MySQL、PostgreSQL等)的应用,目标可能是学习该数据库特定的功能特性。

1.1 实验目的本次实验旨在通过实际操作,验证和巩固SQL语言在关系型数据库管理中的应用能力,并加深对数据库设计、数据操作以及数据查询与分析的理解。

具体实验目的包括:学习SQL基础:掌握SQL语言的基本语法和常用命令,包括数据类型定义、表格创建、插入、更新和删除操作。

数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作一、实验目的1.理解数据库SQL语言的基本操作;2.学会使用数据库SQL语言进行数据的增删改查操作。

二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL;3. 开发工具:Navicat for MySQL。

三、实验内容本次实验主要涉及数据库的基本操作,包括创建数据库、创建数据表、插入数据、更新数据、删除数据以及查询数据等。

1.创建数据库步骤一:打开Navicat for MySQL,并点击左上角的“新建连接”按钮;步骤二:填写连接信息,包括主机、端口、用户名和密码,并点击“连接”按钮;步骤三:点击“新建数据库”按钮,填写数据库的名称,并点击“确定”按钮。

2.创建数据表步骤一:在已连接的数据库上点击右键,选择“新建数据表”;步骤二:填写数据表的名称,并点击“确定”按钮;步骤三:填写数据表的字段信息,包括字段名、数据类型、长度、索引、主键等,并点击“确定”按钮。

3.插入数据4.更新数据5.删除数据6.查询数据步骤一:在数据表上点击右键,选择“查看数据”;步骤二:在弹出的查询窗口中填写查询条件,并点击“确定”按钮。

四、实验结果通过以上基本操作,成功创建了一个数据库,并在数据库中创建了一个数据表。

插入了一条数据,并成功地更新和删除了数据。

最后,使用查询操作查看了数据库中的数据。

五、实验总结通过本次实验,我深入了解了数据库SQL语言的基本操作,学会了使用数据库SQL语言进行数据的增删改查操作。

在实验过程中,我发现通过SQL语句进行数据库操作更加灵活、方便且高效。

还学会了使用Navicat for MySQL这样的数据库管理工具,提高了数据库的操作效率。

通过实验,我对数据库的基本原理和操作有了更深入的了解,为日后的数据库开发和管理打下了坚实的基础。

数据库查询的实验报告

数据库查询的实验报告

数据库查询的实验报告数据库查询的实验报告引言:数据库查询是一项重要的技术,它可以帮助我们从庞大的数据集中提取所需的信息。

本实验旨在探索数据库查询的原理和实践,通过实际操作和分析,深入了解数据库查询的过程和技巧。

实验目的:1. 理解数据库查询的基本概念和原理;2. 掌握使用SQL语句进行数据库查询的方法;3. 分析不同查询语句的执行效率和优化策略。

实验步骤:1. 数据库准备:选择一个合适的数据库系统,并创建一个包含适当表结构和数据的数据库。

2. 查询语句编写:根据实际需求,编写不同类型的查询语句,包括基本查询、条件查询、排序查询、聚合查询等。

3. 查询语句执行:使用数据库管理系统提供的查询工具,执行编写好的查询语句,并观察查询结果。

4. 查询结果分析:根据查询结果,分析查询语句的执行效率和查询结果的准确性。

5. 优化策略实施:对于执行效率较低的查询语句,尝试优化策略,如索引的使用、查询语句的重写等。

6. 优化效果评估:比较优化前后查询语句的执行效率,并分析优化策略的有效性。

实验结果与讨论:通过实验,我们发现数据库查询的过程中,查询语句的编写和优化对查询效率有重要影响。

以下是我们的实验结果和讨论。

1. 基本查询:基本查询是最简单的查询方式,通过SELECT语句从数据库中选择所需的字段。

我们发现,基本查询的执行效率较高,查询结果准确。

然而,在处理大量数据时,查询时间可能会增加。

为了提高效率,我们可以使用LIMIT子句限制返回的记录数。

2. 条件查询:条件查询是根据特定条件筛选数据的查询方式。

我们使用WHERE子句来指定查询条件,并发现查询结果的准确性和效率与查询条件的选择有关。

使用索引字段作为查询条件可以大大提高查询效率。

3. 排序查询:排序查询是根据指定字段的顺序对查询结果进行排序的方式。

我们使用ORDER BY子句来指定排序字段,并观察到排序查询的执行效率较高。

然而,对于大规模数据集,排序操作可能会导致性能下降。

数据库原理实验报告(数据查询)

数据库原理实验报告(数据查询)

数据库原理实验报告实验三数据查询班级:×××姓名:×××学号:×××数据查询一、[实验目的]1.掌握SQL的单表查询操作2.掌握SQL的连接查询操作3.掌握SQL的嵌套查询操作4.掌握SQL的集合查询操作二、[实验内容]本实验的主要内容是:1.简单查询操作。

包括投影、选择条件表达,数据排序,使用临时表等。

2.连接查询操作。

包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。

4.组合查询与统计查询。

(1)分组查询实验。

该实验包括分组条件表达、选择组条件的表达方法。

(2)使用函数查询的实验。

该实验包括统计函数和分组统计函数的使用方法。

(3)组合查询实验。

(4)计算和分组计算查询的实验。

三、[实验方法]1.将查询需求用Transact-SQL语言表示。

2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。

3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。

4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。

5查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。

查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。

图5- 错误!未定义书签。

SQL Server 2000查询分析器查询分析器的界面如图5- 错误!未定义书签。

所示。

在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。

SQL数据库实验一 简单数据查询

SQL数据库实验一 简单数据查询

实验一简单数据查询1.从student表中检索学生所在班级编码,并消除重复行selectdistinct ClassNo from Student2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序select Teacher '教师名',CouNo'课程号',CouName'课程名称'from Courseorderby Teacher desc3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行selecttop 15 CouNo'课程号',CouName'课程名称'from Coursewhere CouNo>0054.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师select Teacher '教师名'from Coursegroupby Teacherhaving cast(avg(WillNum)asdecimal(5,2))between 25 and 355.查看部门编号为“03”的部门名称。

select DepartNamefrom Departmentwhere DepartNo='03'6.查看部门名称中包含有“工程”两个字的系的全名。

select DepartNamefrom Departmentwhere DepartName like'%工程%'7.显示共有多少个部门。

select count(*)'部门总数'from Department8.显示“01”年级共有多少个班级。

select count(*)'01级共有班级数'from Classwhere ClassNo like'2001____'9.查看在“周二晚”上课的课程名称和教师。

SQL数据的查询和更新实验报告报告

SQL数据的查询和更新实验报告报告

SQL数据的查询和更新实验报告报告实验三、SQL的数据查询1、实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。

2、实验内容实验内容主要是对数据库进行查询操作,包括如下四类查询方式:单表查询查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。

使用DISTINCT保留字消除重复行。

对查询结果排序和分组。

集合分组使用集函数进行各项统计。

连接查询笛卡儿连接和等值连接。

自连接。

外连接复合条件连接。

多表连接。

嵌套查询通过实验验证对子查询的两个限制条件。

体会相关子查询和不相关子查询的不同。

考察四类谓词的用法,包括:第一类,IN、NOT IN;第二类,带有比较运算符的子查询;第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;第四类,带有EXISTS谓词的子查询,实现“所有”等情况集合运算使用保留字UNION进行集合或运算。

采用逻辑运算符AND或OR来实现集合交和减运算。

3、实验步骤以University_Mis数据库为例,该数据库中有四张如实验一,其中Score是每门课的考试成绩,Scredit是学生所有考试合格课程所获得的积分总数,Ccredit每门课程的学分数。

在数据库中,存在这样的联系:学生可以选择课程,一个课程对应一个教师。

在表Reports中保存学生的选课记录和考试成绩。

1请先输入如下元组,再对数据库进行有关的查询操作:图、Students表图、Teachers表图、Courses表图、Reports表2查询性别为“男”的所有学生的名称并按学号升序排列。

查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。

积分的计算公式为:[1+(考试成绩-60)*]*Ccredit。

考试成绩>=60。

查询学分是3或4的课程的名称。

查询所有课程名称中含有“算法”的课程编号。

查询所有选课记录的课程号。

统计所有老师的平均工资。

数据库实验报告-SQL语句查询

数据库实验报告-SQL语句查询

《数据库原理》实验报告(实验名称:SQL查询语句)一、实验目的数据查询语句是SQL语句的重要组成部分,是编程人员与数据库管理人员必不可少的工具,通过实验达到以下目的:(1)掌握SELECT 语句的基本语法,加深学生对查询语句基本概念的理解。

(2)掌握简单的单表查询。

(3)掌握连接查询。

二、实验内容:实验数据:实验二所建的数据库及表,实验三录入表中的数据。

1、简单查询(1)若干列或行的选择(2)*、distinc、between…and… 、 in、 like等运算符的使用(3)计算列、常量或空值的查询(4)查询结果排序和分组2、连接查询(1)内连接和自身连接(2)外连接(3)复合条件连接(4)多表连接(5)对表和列使用别名三、实验环境SQL server 2000,pc机一台四、程序源码与运行结果1.查询所有学生的全部信息2. 查询全体学生的学号与姓名3 查询年龄在20岁以下的学生姓名及其出生年份,并为出生年份加上标题4 查询选修了课程的学生学号,并消除重复行5 查询年龄在20~23岁的学生信息(用between… and…表示查询条件)6 查询全体学生情况,查询结果按班级编号升序排列,同一班的学生按年龄降序排列7 查询所有姓赵学生的姓名、学号和性别8 查询名字中第2个字为“小”字的学生姓名9 查询电气信息工程学院(dx) 和计算机学院(jsj)的学生(要求:使用IN关键字表示查询条件10 查询没有考试成绩的学生学号和课程号11 查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数(先用group by 分组,再用Having限定分组条件)12 查询学生总人数13 查询学号为‘’学生的平均成绩和总成绩,并为总成绩和平均成绩取别名。

14 查询c01号课程的最高分数和最低分15 查询没有考试成绩的学生学号和课程号16 查询全体学生的姓名、选修的课程名及成绩17 查询每个学生及其选修课程情况的所有信息(用*表示字段18 查询某门课程考试成绩相同的学生学号和课程名,并为各个表取别名19 查询与“张三”在一个系学习的学生(IN)20 查询选修了“数据结构”的学生学号和姓名五、实验总结列名写错:修改列名:心得体会:通过实验,了解了一些基本的查询操作,会一些的基本操作。

查询操作实验报告

查询操作实验报告

一、实验目的1. 理解数据库查询的基本概念和操作方法。

2. 掌握SQL语言中SELECT语句的使用,包括简单查询、条件查询、连接查询等。

3. 提高数据库查询效率,了解索引的作用和优化策略。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 实验工具:MySQL Workbench三、实验内容1. 数据库创建与表结构设计(1)创建数据库CREATE DATABASE experiment;(2)创建表CREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT,gender CHAR(1),class VARCHAR(20));CREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),teacher VARCHAR(20));CREATE TABLE score (id INT PRIMARY KEY AUTO_INCREMENT,student_id INT,course_id INT,score INT,FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id) );2. 查询操作(1)简单查询查询学生表中的所有记录:SELECT FROM student;查询学生表中的学生姓名和年龄:SELECT name, age FROM student;(2)条件查询查询年龄大于20岁的学生:SELECT FROM student WHERE age > 20;查询学生姓名中包含“李”的学生:SELECT FROM student WHERE name LIKE '%李%';(3)连接查询查询学生姓名和对应的课程名称:SELECT , FROM studentJOIN course ON student.class = course.teacher;查询选修了“数据库原理”课程的学生姓名和成绩:SELECT , score.scoreFROM studentJOIN score ON student.id = score.student_idJOIN course ON score.course_id = course.idWHERE = '数据库原理';3. 查询优化(1)索引优化创建索引,提高查询效率:CREATE INDEX idx_student_name ON student(name);CREATE INDEX idx_score_student_id ON score(student_id);(2)查询语句优化避免使用SELECT ,只查询需要的字段:SELECT name, age FROM student;使用WHERE子句进行条件过滤,减少查询结果集:SELECT FROM student WHERE age > 20;四、实验结果与分析1. 实验结果通过以上实验,我们成功创建了数据库、表结构,并进行了简单查询、条件查询、连接查询等操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库实验1:SQL查询操作题目:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)。

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

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。

工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。

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

今有若干数据如下:S表:SNO SNAME STATUS CITYS1 精益20 天津S2 盛锡10 北京S3 东方红30 北京S4 丰盛泰20 天津S5 为民30 上海P表:PNO PNAME COLOR WEIGHTP1 螺母红12P2 螺栓绿17P3 螺丝刀蓝14P4 螺丝刀红14P5 凸轮蓝40P6 齿轮红30J表:JNO JNAME CITY J1 三建北京J2 一汽长春J3 弹簧厂天津J4 造船厂天津J5 机车厂唐山J6 无线电厂常州J7 半导体厂南京SPJ表:SNO PNO JNO QTY S1 P1 J1 200S1 P1 J3 100S1 P1 J4 700S1 P2 J2 100S2 P3 J1 400S2 P3 J2 200S2 P3 J4 500S2 P3 J5 400S2 P5 J1 400S2 P5 J2 100S3 P1 J1 200S3 P3 J1 200S4 P5 J1 100S4 P6 J3 300S4 P6 J4 200S5 P2 J4 100S5 P3 J1 200S5 P6 J2 200S5 P6 J4 500首先进行创建数据库、表,插入数据等操作。

创建数据库:CREATE DATABASE ***;创建数据表:CREATE TABLE S(SNO CHAR(10) PRIMARY KEY, --主码SNAME CHAR(50) UNIQUE, --唯一STATUS INT,CITY CHAR(20));CREATE TABLE P(PNO CHAR(10) PRIMARY KEY,PNAME CHAR(50),COLOR CHAR(20),WEIGHT INT);CREATE TABLE J(JNO CHAR(10) PRIMARY KEY,JNAME CHAR(50) UNIQUE,CITY CHAR(20));CREATE TABLE SPJ(SNO CHAR(10),PNO CHAR(10),JNO CHAR(10),QTY INT,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO) REFERENCES S(SNO), --外键约束FOREIGN KEY(PNO) REFERENCES P(PNO), FOREIGN KEY(JNO) REFERENCES J(JNO),);开始查询操作:(1)求供应工程J1零件的供应商号码SNO:πSno(σJno=‘J1’(SPJ))SELECT * FROM SPJWHERE JNO='J1';(2)求供应工程J1零件P1的供应商号码SNO:πSno(σJno=‘J1’∧Pno=‘P1’(SPJ))SELECT * FROM SPJWHERE JNO='J1' AND PNO='P1';(3)求供应工程J1零件为红色的供应商号码SNO:πSno(πSno,Pno(σJno=‘J1‘(SPJ))∞πPno(σCOLOR=’红‘(P))) 注意:用了嵌套查询。

SELECT * FROM SPJWHERE JNO='J1' AND PNO IN(SELECT PNO FROM PWHERE COLOR='红')(4)求没有使用天津供应商生产的红色零件的工程号JNO:(这题答案有点问题)πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)SELECT J.JNO FROM P,J,SPJWHERE SPJ.JNO=J.JNOAND SPJ.PNO=P.PNOAND J.CITY!='天津'AND P.COLOR='红';(5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno,Sno(σSno=‘S1‘(SPJ))注意:第二个投影要同时把Pno和Sno取出来,因为要由S1产生Pno SELECT * FROM SPJWHERE SNO='S1'P130页第五题:(1)找出所有供应商的姓名和所在城市;SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量;SELECT PNAME,COLOR,WEIGHTFROM P(3)找出使用供应商S1所供应零件的工程号码;SELECT JNO FROM SPJWHERE SNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量;SELECT PNAME,QTY FROM P,SPJWHERE JNO='J2' AND P.PNO=SPJ.PNO(5)找出上海厂商供应的所有零件号码;SELECT DISTINCT PNO FROM SPJWHERE SNO IN(SELECT SNO FROM SWHERE CITY='上海')(6)找出使用上海产的零件的工程名称;SELECT JNAME FROM JWHERE JNO IN(SELECT JNO FROM SPJWHERE SNO IN(SELECT SNO FROM SWHERE CITY='上海'))(7)找出没有使用天津产的零件的工程号码;方法一:SELECT DISTINCT JNO FROM SPJWHERE SNO!='S1' AND SNO!='S4'方法二:更具有普适性SELECT DISTINCT JNO FROM SPJWHERE SNO IN(SELECT SNO FROM SWHERE CITY!='天津')(8)把全部红色零件的颜色改成蓝色;UPDATE PSET COLOR='蓝'WHERE COLOR='红'SELECT * FROM P(9)由S5供给J4的零件P6改为由S3供应;UPDATE SPJSET SNO='S3'WHERE PNO='P6' AND JNO='J4' AND SNO='S5'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录;注意:这题要先删除SPJ表中的S2,再删除S表中的S2,否则会产生外键冲突。

DELETE FROM SPJWHERE SNO='S2';SELECT * FROM SPJDELETE FROM SWHERE SNO='S2';SELECT * FROM S(11)请将(S2,J6,P4,200)插入供应情况关系。

INSERT INTO S VALUES('S2','盛锡',10,'北京');INSERT INTO SPJ VALUES('S2','P4','J6',200);SELECT * FROM SPJ完整程序:CREATE DATABASE ***;CREATE TABLE S(SNO CHAR(10) PRIMARY KEY, --主码SNAME CHAR(50) UNIQUE, --唯一STATUS INT,CITY CHAR(20));CREATE TABLE P(PNO CHAR(10) PRIMARY KEY,PNAME CHAR(50),COLOR CHAR(20),WEIGHT INT);CREATE TABLE J(JNO CHAR(10) PRIMARY KEY,JNAME CHAR(50) UNIQUE,CITY CHAR(20));CREATE TABLE SPJ(SNO CHAR(10),PNO CHAR(10),JNO CHAR(10),QTY INT,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO) REFERENCES S(SNO), --外键约束FOREIGN KEY(PNO) REFERENCES P(PNO), FOREIGN KEY(JNO) REFERENCES J(JNO));INSERT INTO S VALUES('S1','精益',20,'天津'); INSERT INTO S VALUES('S2','盛锡',10,'北京'); INSERT INTO S VALUES('S3','东方红',30,'北京'); INSERT INTO S VALUES('S4','丰泰盛',20,'天津'); INSERTINTO S VALUES('S5','为民',30,'上海');--SELECT * FROM SINSERT 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);--SELECT * FROM pINSERT 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','半导体厂','南京'); --SELECT * FROM J--多条数据同时插入,效率更高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);--SELECT * FROM SPJ--P71.(1)SELECT * FROM SPJWHERE JNO='J1';--P71.(2)SELECT * FROM SPJWHERE JNO='J1' AND PNO='P1';/*SELECT * FROM SPJ,S,J,PWHERE S.SNO=SPJ.SNO AND SPJ.JNO='J1' AND P.COLOR='红色' *//*SELECT * FROM SPJ,PWHERE JNO='J1' AND COLOR IN(SELECT COLOR FROM PWHERE COLOR='红')*/--P72.(3) 嵌套查询SELECT * FROM SPJWHERE JNO='J1' AND PNO IN(SELECT PNO FROM PWHERE COLOR='红')--P72.(4)SELECT * FROM SPJWHERE SNO IN(SELECT SNO FROM SWHERE CITY!='天津')OR PNO IN(SELECT PNO FROM PWHERE COLOR!='红')--P72.(4) 正确结果SELECT J.JNO FROM P,J,SPJWHERE SPJ.JNO=J.JNOAND SPJ.PNO=P.PNOAND J.CITY!='天津'AND P.COLOR='红';--P72.(5)SELECT * FROM SPJWHERE SNO='S1'--P130.(1)SELECT SNAME,CITY FROM S--P130.(2)SELECT PNAME,COLOR,WEIGHT FROM P--P130.(3)SELECT JNO FROM SPJWHERE SNO='S1'--P130.(4)SELECT PNAME,QTY FROM P,SPJ WHERE JNO='J2' AND P.PNO=SPJ.PNO --P130.(5)SELECT DISTINCT PNO FROM SPJ WHERE SNO IN(SELECT SNO FROM SWHERE CITY='上海')--P130.(6)SELECT JNAME FROM JWHERE JNO IN(SELECT JNO FROM SPJWHERE SNO IN(SELECT SNO FROM SWHERE CITY='上海'))--P130.(7)SELECT DISTINCT JNO FROM SPJ WHERE SNO!='S1' AND SNO!='S4'--法二,更具有普适性SELECT DISTINCT JNO FROM SPJ WHERE SNO IN(SELECT SNO FROM SWHERE CITY!='天津')--P130.(8)UPDATE PSET COLOR='蓝'WHERE COLOR='红'SELECT * FROM P--P130.(9)UPDATE SPJSET SNO='S3'WHERE PNO='P6' AND JNO='J4' AND SNO='S5' --P130.(10) DELETE FROM SPJWHERE SNO='S2';SELECT * FROM SPJDELETE FROM SWHERE SNO='S2';SELECT * FROM S--P130.(11)INSERT INTO S VALUES('S2','盛锡',10,'北京');INSERT INTO SPJ VALUES('S2','P4','J6',200); SELECT * FROM SPJ。

相关文档
最新文档