数据库实验二
SQL文本:
SELECTFname名,Lname姓,Ssn社会保险号,
WHEREW.Hours>10ANDP.Pname='PRODUCTX'ANDDno=5;
Q15.对于每个项目,列出项目名称以及所有员工在此项目上工作的总时间。
SQL文本:
SELECTP.Pname,SUM(W.Hours)总时间
FROMWORKS_ONWJOIN
PROJECTPON(P.Pnumber=W.Pno)GROUPBYP.Pname;
Q8.从Employee表中查询出LNAME中含有字母o的员工资料。
SQL文本:
SELECT*
FROMEMPLOYEE
WHERELnameLIKE'%O%';
Q9.检索居住在Houston的员工所有信息。
SQL文本:
SELECT*
FROMEMPLOYEE
WHEREAddressLIKE'%Houston%';
GROUPBYDname
HAVINGCOUNT(*)>=2);
Q27.查询有两个或以上家属的员工姓名。
SQL文本:
SELECTFNAME,LNAME
FROMEMPLOYEE
WHERESsn=ANY
(SELECTESSN
FROMDEPENDENT
GROUPBYEssn
HAVINGCOUNT(*)>=2);
Q16.对于每个部门,列出部门名称以及此部门员工的平均工资。
SQL文本:
SELECTD.Dname,AVG(E.Salary)AS平均工资
FROMEMPLOYEEEJOINDEPARTMENTD
OND.Dnumber=E.Dno
GROUPBYD.Dname;
Q17.对于每个员工(包括无上司员工),查询其姓名以及他/她的直接上司的姓名。
(3)使用计算列查询。
Q10.从Employee表中检索出员工的FNAME、LNAME、SSN、SALARY等字段(其中SALARY需换算成人民币,汇率假定为1美元=8人民币元),并分别加上“名”、“姓”、“社会保险号”、“人民币工资”的标题。
SQL文本:
SELECTFname名,Lname姓,Ssn社会保险号,
SQL文本:
SELECTE.Lname,E.Address,E.Bdate,P.Pnumber,P.Dnum
FROMPROJECTPJOIN
DEPARTMENTDON(P.Dnum=D.Dnumber)
JOINEMPLOYEEEON(D.Mgr_ssn=E.Ssn)
WHEREPlocation='Stafford';
西南石油大学实验报告
课程名称:数据库原理
插入你的照片
实验项目名称:实验项目2 SQL数据操纵语言
专业年级班级、姓名、学号:软件13级2班
电子邮件地址:
实验所用机器名:
实验时间地点:2015.12.03明理楼
实验指导教师:孙瑜
成绩
批改人
批改日期
注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。
Q13.查询有两个或以上家属的员工姓名(此题较难,若不能完成者可只查询出员工的SSN而不是姓名)。
SQL文本:
SELECTE.Fname,E.Lname
FROMEMPLOYEEE
JOINDEPENDENTD
ON(D.Essn=E.Ssn)
GROUPBYD.Essn,E.Fname,E.Lname
HAVINGCOUNT(*)>=2;
SELECTSsnFROMEMPLOYEE
WHEREFname='JOHN'ANDLname='SMITH')))
ANDSsn!=(SELECTSsnFROMEMPLOYEE
WHEREFname='JOHN'ANDLname='SMITH');
Q25.查询至少有一个家属的部门经理姓名。(必须用EXISTS谓词)
Salary*8人民币工资
FROMEMPLOYEE;
2
Q11.查询所有为Research部门工作的员工姓名及地址。
SELECTFname,Lname,Address
FROMEMPLOYEEE
JOINDEPARTMENTD
ONE.Dno=D.Dnumber
WHEREDname='Research';
Q12.对于所有位于Stafford的项目,查询项目的编号、项目负责部门编号以及该部门经理的姓、地址、生日。
SQL文本:
SELECTSsn,Sex,Bdate,Address
FROMEMPLOYEE
WHEREFname='JOHN'ANDLname='SMITH'
ANDMinit='B';
2)基于BETWEEN子句的查询。
Q6. 从Employee表中查询出1960年——1970年之间出生的员工资料。
SQL文本:
通过本次实验让我对SQl所有的查询语句都有所了解。弄明白了where和Having的执行顺序。以及Join连接必须有参照关系才能连接。在做查询没有参与任何部门5控制项目的员工姓名这道题时,自己就陷入错误,在何时取反很重要。查询至少参与了所有部门4控制项目的员工姓名。(选做)这道题时要利用至少参加所有的这个条件,并且在查找是否有员工参与所有项目时,最好使用count(*)来选择。要小心一些题目中的陷阱。
一、实验课时:
二、实验目的
(1)理解查询的概念和方法。
(2)掌握SELECT语句在单表查询中的应用。
(3)掌握SELECT语句在多表连接查询中的应用。
(4)掌握SELECT语句在嵌套查询中的应用。
(5)掌握SELECT语句在集合查询中的应用。
(6)主要掌握使用“查询分析器”进行查询。
三、实验环境
(1)PC机。
SELECTEssn
FROMWORKS_ON
WHEREPnoIN(
SELECTPnumber
FROMPROJECT
WHEREDnum=5));
Q21.查询工资超过部门5所有员工工资的员工姓名。
SQL文本:
SELECTFNAME,LNAME
FROMEMPLOYEE
WHERESalary>ALL
(SELECTSalary
SQL文本:
SELECTD.Dname,COUNT(*)总数
FROMEMPLOYEEE
JOINDEPARTMENTDONE.Dno=D.Dnumber
WHERESalary>=30000
GROUPBYD.Dname
HAVINGD.DnameIN(
SELECTD.Dname
FROMEMPLOYEEE
JOINDEPARTMENTDONE.Dno=D.Dnumber
SQL文本:
SELECTE.Lname员工姓,E.Fname员工名,
EM.Lname上司姓,EM.Fname上司名
FROM
EMPLOYEEELEFT
JOIN
EMPLOYEEEMON(E.Super_ssn=EM.Ssn);
Q18.查询Company数据库中所有员工SSN与DNAME(部门名称)的组合。
WHEREPnoIN
(SELECTDISTINCTPno
FROMWORKS_ONWHEREEssnIN(
SELECTSsnFROMEMPLOYEE
WHEREFname='JOHN'ANDLname='SMITH'))
GROUPBYEssn
HAVINGCOUNT(*)=(SELECTCOUNT(*)
FROMWORKS_ONWHEREEssnIN(
WHEREE.Salary>=30000
----先执行WHERER在执行GROUP BY
GROUPBYD.Dname
HAVINGCOUNT(*)>=2;
3.嵌套查询
Q20.查询没有参与任何部门5控制项目的员工姓名。
SQL文本:
SELECTFname,Lname
FROMEMPLOYEE
WHERESsnNOTIN(
FROMEMPLOYEE
JOINDEPARTMENTONMgr_ssn=Ssn
JOINPROJECTONDnum=Dnumber
WHERELname='SMITH';
五、收获,体会及问题
(请详细书写,写得越详细、越个性化、越真实越好,否则我不知道你做这个实验的心路历程,也就无法充分地判断你是否是独立完成的这个实验、你是否在做这个实验时进行了认真仔细地思考、通过这个实验你是否在实践能力上得到了提高)
SELECT*FROMEMPLOYEE
WHEREBdateBETWEEN'1960-01-01'
AND'1970-01-01';
3)基于IN子句的查询。
Q7.从Employee表中查询出部门号为4或者5的员工资料。
SQL文本:
SELECT*
FROMEMPLOYEE
WHEREDnoIN(4,5);
4)基于LIKE子句的查询。
Q14.查询在ProductX项目上每周工作时间超过10小时的部门5的员工姓名。(对于连接操作必须是主外键,但是对于where条件并没有什么特殊要求)
数据库实验2-数据库及表的创建与管理(DDL应用)
实验二数据库及表的创建与管理(DDL应用)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:一、【实验目的与要求】1.熟悉SQL Server 2005 的环境2.了解使用企业管理器创建数据库的过程和方法3.了解使用企业管理器创建数据库的过程和方法二、【实验准备】1.安装并配置好SQL Server 2005数据库2.设计好数据库创建各参数,准备好测试数据三、【实验要求】1.完成数据库的创建与管理2.完成表的创建与管理。
3. 熟悉SQL Server 2005中企业管理器和查询分析器两个常用管理工具四、【实验内容】1. 数据库创建与管理2. 表的创建、管理及数据操作。
五、【实验步骤】1. 准备工作(1)安装完成SQL Server 2005安装。
(2) 打开企业管理器(3)连接数据库2.数据库的创建与修改准备工作:在C盘下创建目录Exam03,用于存放数据库创建时产生的数据文件。
(1) 数据库的创建使数据定义语句Create Database可以创建数据库,该语句在使用时可指明数据文件和日志文件存放的路径,初始数据文件的大小等参数。
阅读以下是创建数据库SalesDB的SQL语句,理解其功能,并置于查询分析器中执行:create database SalesDBon(name= SalesDB_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='C:\Exam03\SalesDB.mdf' ,--物理名称,注意路径必须存在size=20, --数据初始长度为10Mmaxsize=100, --最大长度为100Mfilegrowth=5 --数据文件每次增长1M)log on(name= SalesDB_log,filename='C:\Exam03\SalesDB.ldf ' ,size=20 ,maxsize=50 ,filegrowth=5)在查询分析器中执行上述语句建立数据库SalesDB。
数据库上机实验二
数据库上机实验二实验要求:(1) 掌握查询语句的一般格式。
;(2) 掌握无条件、有条件查询及查询结果排序与分组。
实验目的:熟练掌握简单查询语句的使用。
实验设备:装有SQL SERVER 2000的电脑 实验步骤:(1) 启动SQL 查询分析器;(2) 选择SQL SERVER 后,按确认; (3) 选择数据库ST ;(4) 综合练习如下例题(实验报告上只需写蓝色字体的题目):预备工作:建立一个名称为“ST ”的数据库,里面有三张表:Students 、Courses 、Reports ; 直接在企业管理器里,在数据库ST 的三张表里输入以下数据:1 无条件查询例1 查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为: SELECT * /*这里的“*”等价于ALL*/ FROM s;其结果为表1中的全部数据。
例2 查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。
这是一个无条件的投影查询,其命令为:SELECT Sname, Sno, Sdept FROM s;例3 查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
由于SELECT 子句的<目标列表达式>不仅可以是表中的属性列,也可以是表达式,故可以查询经过计算的值。
其命令为:select Sname, 2011 - Sage AS birth, Snofrom s例4 查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:select Sname, 2011 - Sage AS birth, lower(Sno) as Sno表1 关系s表2 关系c表3 关系scfrom s例5查询选修了课程的学生学号。
其命令为:select DISTINCT s.Snofrom sc, swhere sc.Sno = s.Snoand Cno IS NOT NULL2 条件查询例6 查询数学系全体学生的学号(Sno)和姓名(Sname)。
数据库原理实验2数据查询
课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。
四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。
一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。
1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。
这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。
1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。
1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。
1.5查询选修了课程的学生学号。
其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。
2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。
其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。
数据库实验 创建数据表,修改表结构
ssex char(2),程”表course
Create table course
(
cno char(4) primary key,
cname char(20),
ccredit smallint
);
建立学生选课表sc
Create table sc
(
tno char(6)primary key,
jbgz int,
zwgz int,
bj int,
Foreign key (tno) referencest(tno)
);
4. 用命定在已存在的学生表student中增加一个sdept(系)的新的属性列;
alter table student add sdept char(20);
实验二:创建数据表,修改表结构
一、实验目的:
掌握建立一个数据库表结构的方法和步骤,了解数据库表的基本组成。
二、实验要求:(必做)
硬件:Intel Pentium120或以上级别的CPU,大于16MB的内存。
软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。
5. 用命定将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。
alter table student alter column snamevarchar(10);
6. 在数据库中建立一个临时表
建立一个临时表
create table linshi
(lin int
2.删除该临时表
drop table linshi cascade;
SQL SERVER 2000对CASCADE与RESTRICT处理策越是相同的。
2-Expriment 2数据库实验
Experiment 2. Expressions and GROUP BY clause1. Search conditions1.1 Select rows within a certain range. (Using BETWEEN…AND…)a. Find all the employees who earn between $1200 and $1400.b. Find all the employees who do not earn between $1200 and $1400.1.2 Select rows that match a value in a list. (Using IN(…) operator)a. Find the employees who are clerks, analysts or salesmen.b. Find the employees who are not clerks, analysts or salesmen.1.3 Select rows that match a character string pattern. (Using LIKE operator)a. Find all the employees whose names begin with the letter “M”.b. Find all the employees whose names contain the letter “N”.c. Find all the employees whose names are not 5 characters long.2. Ordering rows in a query result2.1 List the employees in department 30 ordered by their salaries in ascending order.2.2 List the employees in department 30 ordered by their salaries in descending order.2.3 Order all employees by job. For those with the same job, put them in descending salary order.3. Expressions3.1 The ISNULL() function.Syntax: ISNULL ( check_expression , replacement_value )Description: Check whether check_expression is a null value. If it is, replace it with replacement_value in the expression.Example: Calculate the average price of all books. Consider the books without price data as $20.SELECT AVG(ISNULL(Price, 20)) FROM Books;3.2 List the name, salary, commission, and sum of salary plus commission of all salesmen.3.3 List the name, salary and commission of employees whose commissions are greater than 25% of their salaries.3.4 Calculate the total annual earnings of all salesmen based on their monthly salaries and their monthly commissions.4. Aggregate Functions4.1 Find the average salary for clerks.4.2 Find the total salary and total commission for salesmen.4.3 Compute the average annual salary plus commission for all salesmen.4.4 Find the highest and lowest paid employee salaries and the difference between them.4.5 Count the number of employees who receive a commission.4.6 Count the number of different jobs held by employees in department 30.4.7 Count the number of employees in department 30.5. GROUP BY clause5.1 List the department number and average salary of each department.5.2 F ind each department’s average annual salary for all its employees except the managers and the president.5.3 Divide all employees into groups by department, and by jobs within department. Count the employees in each group and compute each group’s average annual salary.5.4 List the average annual salary for all job groups having more than 2 employees in the group.5.5 List all the departments that have at least two clerks.5.6 Find all departments with an average commission greater than 25% of average salary.。
数据库原理及应用实验指导书答案
数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。
它允许用户创建,读取,更新和删除数据库中的数据。
常见的数据库管理系统有MySQL,Oracle,SQL Server等。
问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。
以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。
2. 运行安装程序,按照向导的指示进行安装。
3. 选择是否要安装MySQL 服务器和MySQL工具。
4. 设置密码以保护数据库的安全。
5. 完成安装程序并启动MySQL服务。
数据库是一个组织和存储数据的容器。
在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。
每行代表一个记录,每列代表一个字段。
问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。
常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。
问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。
ODBC驱动程序充当应用程序和数据库之间的翻译器。
问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。
在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。
在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。
具体步骤如下: 1. 加载ODBC接口库。
2. 初始化ODBC环境。
3. 建立数据库连接。
4. 执行SQL语句。
5. 关闭数据库连接。
6. 释放ODBC环境。
问题九ODBC接口库是一组API函数,用于连接和操作数据库。
数据库实验二
实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。
二、实验过程(一)数据库的建立使用CREATE DA TABASE语句创建名为“gongcheng”的数据库。
create database gongcheng(二)数据表的操作1.建立数据表在创建的“gongcheng”数据库中使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系的主键,有外键的创建外键。
(2)S表中的Sname属性列的取值唯一(3)P表中weight属性列的取值范围在1-50之间(4)J表中的Jname取值不能为空并且是唯一的(5)SPJ表中QTY属性列的数据类型必须为int建立供应商表Screate table S(Sno varchar(8)primary key,Sname varchar(20)unique,Status int,City varchar(20))建立零件表Pcreate table P(Pno varchar(8)primary key,Pname varchar(20),Color varchar(4),Weight int check(Weight>=1 and Weight<=50))建立工程项目表Jcreate table J(Jno varchar(8)primary key,Jname varchar(20)unique not null,City varchar(20))建立供应情况表SPJcreate table SPJ(Sno varchar(8),Pno varchar(8),Jno varchar(8),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))2.修改表的结构用SQL语句完成以下操作:(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。
实验2 SQL Server数据库的管理
实验2 SQL Server数据库的管理一、实验目的1.了解SQL Server数据库的逻辑结构和物理结构的特点。
2.学会使用SQL Server管理平台对数据库进行管理的方法。
3.学会使用Transact-SQL语句对数据库进行管理的方法。
二、实验内容及步骤1.在SQL Server管理平台中创建studentsdb数据库。
(1)运行SQL Server管理器平台,在管理平台的对象资源管理器中展开服务器。
(2)右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项.在新建数据库对话框的名称文本框中输入学生管理数据库名studentsdb。
2.选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。
3,打开studentsdb数据库的“属性”对话框,在“文件”选项卡中修改studentsdb 数据文件的“分配的空间”大小为2MB。
指定“最大文件大小”为5MB。
在“事务日志”选项卡中修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。
4.单击“新建查询”打开查询设计窗口,在查询设计器中使用Transact-SQL 语句CREATE DATABASE 创建studb 数据库。
然后通过系统存储过程sp_helpdb 查看系统中数据库信息。
5.在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb 数据库的设置,指定数据文件大小为5MB.最大文件大小为20MB,自动递增大小为1MB。
6.在查询设计器中为studdb数据库增加一个日志文件,命名为studb_Log2,大小5MB。
最大文件大小为10MB。
7.使用查询设计器将studb数据库的名称更改为student_db。
8.使用Transact-SQL语句DROP DATABASE删除student_db数据库。
9.在SQL Server管理平台中删除studentsdb数据库。
数据库应用课程02实验二 关系完整性约束操作
学号
姓名
实验项目
关系完整性约束操作
实验地点
实验仪台号
指导教师
程荃华
实验日期及节次
年月日,第节
理解“关系”、“关键字”、“主键”、“外键”、“实例完整性”、“参照完整性”、“域完整性”等的概念;
掌握建立关系完整性约束的方法。
下载实验用的数据库样例。
(1)打开名称为“Ch1教学管理数据库.accdb”的Access 2007数据库。
(2)打开“导航窗格”,单击其顶部的下拉列表框,选择“表”。可以看到有多张表。
(3)双击学生表,将其打开,查看学生表的记录信息。
(4)切换至“设计视图”,给学生表指定学号为主键。
(5)给学生表中的性别字段加上域限制,限制其取值只能为“男”或“女”。
(6)限制学生表的入学成绩取值只能在300至700之间。
(7)分别指定家庭成员表的主键为“ID”,班级表的主键为“班级号”,课程表的主键为“课程号”,成绩表的主键为“学号”+“课程号”。
(8)鼠标单击Access的菜单“数据库工具”,再点“关系”按钮,出现数据库关系图。
(9)给班级表与学生表之间加上关系联系线,设定它们之间的联系是按班级号一对多的联系,并且加上参照完整性约束,以及级联更新和级联删除。然后通过对表记录的更新操作进行验证。
(10)按照步骤(9)的方法,对其它表加上参照完整性约束。
请将实验步骤中的每一步,使用截图方式记录其过程。
解释什么是记录、字段、主键、实例完整性、参照完整性、域完整性。
成绩:指导教师签名:
数据库实验二:简单查询和连接查询(供河南科技大学学生用)
实验二:简单查询和连接查询一、实验目的:熟练掌握用SQL语句实现的简单查询和多个数据表连接查询。
二、实验内容:(一)完成下面的简单查询:①查询所有“天津”的供应商明细;②查询所有“红色”的14公斤以上的零件。
③查询工程名称中含有“厂”字的工程明细。
(二)完成下面的连接查询:①等值连接:求s表和j表的相同城市的等值连接。
②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。
③笛卡尔积:求s和p表的笛卡尔积④左连接:求j表和spj表的左连接。
⑤右连接:求spj表和j表的右连接。
三、完成情况:(一)完成下面的简单查询:①查询所有“天津”的供应商明细;select*from swhere city='天津'②查询所有“红色”的14公斤以上的零件select*from pwhere color='红'andweight>'14'③查询工程名称中含有“厂”字的工程明细select*from jwhere jname like'%厂'(二)完成下面的连接查询:①等值连接:求s表和j表的相同城市的等值连接。
select s.*,j.*from s,jwhere s.city=j.city②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。
select sname,jname,pnamefrom s,p,j,spjwhere spj.sno=s.sno andspj.pno=p.pno andspj.jno=j.jno③笛卡尔积:求s和p表的笛卡尔积select*from s,p④左连接:求j表和spj表的左连接select j.jno,jname,city,spj.sno,pno,QTYfrom j left join spj on(j.jno=spj.jno)⑤右连接:求spj表和j表的右连接select j.jno,jname,city,spj.sno,pno,QTYfrom spj right join j on(j.jno=spj.jno)四、实验结果:(一)①查询所有“天津”的供应商明细;②查询所有“红色”的14公斤以上的零件③查询工程名称中含有“厂”字的工程明细(二)①等值连接:求s表和j表的相同城市的等值连接②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。
