《数据库》实验报告
【实验名称】 实验3 数据库的连接查询
【实验目的】
1. 熟悉基本的连接查询的概念和作用;
2. 了解数据库管理系统DBMS 实现连接查询的基本方法;
3. 掌握SQL语言连接查询语句的语法和功能,掌握并熟练运用连接查询语句实现数据库的多表查询应用。
【实验内容】
针对供应管理数据库SPJ,使用连接查询完成以下问题:
- 查询“S001”号供应商的供应信息(结果含供应商名、项目名、零件名、供应量);
- 查询“北京”的供应商的供应信息(结果含供应商名、项目名、零件名、供应量);
- 查询颜色为“红”色的零件供应信息(结果含供应商名、项目名、零件名、供应量);
- 查询供应工程“长春一汽”零件的供应商信息;
(5) 查询供应工程“长春一汽”零件“螺丝刀”的供应商信息;
(6) 查询“螺丝刀”零件的供应信息(结果含供应商名、项目号、零件号、供应量);
(7) 查询“北京启明星”供应商的供应信息(结果含供应商名、项目号、零件号、供应量);
(8) 查询供应量在200和400之间的供应信息(结果含供应商名、项目名、零件名、供应量);
(9) 查询两个供应量最大的供应信息(结果含供应商名、项目名、零件名、供应量);
(10) 查询使用“天津”供应商供应的零件的工程信息。
三、实验提示
1. 内连接
SELECT <目标列表达式>
FROM <表1>,<表2>
WHERE [<表名1>.]<列名1> <比较运算符>[<表名2>.]<列名2>
或者
SELECT <目标列表达式>
FROM <表1> [ INNER] JOIN <表2> [ON <连接条件> ]
例如:SELECT s.SNO,s.SNAME,b.CNO,b.GRADE
FROM Student s, SC b
WHERE s.SNO= b.SNO ;
或者
SELECT s.SNO,s.SNAME,b.CNO,b.GRADE
FROM Student s INNER JOIN SC b ON s.SNO= b.SNO;
2. 外连接
(1) 左外连接
SELECT <目标列表达式>
FROM <表1> LEFT [ OUTER ] JOIN <表2> [ON <连接条件> ]
(2) 右外连接
SELECT <目标列表达式>
FROM <表1> RIGHT [ OUTER ] JOIN <表2> [ON <连接条件> ]
(3) 全外连接
SELECT <目标列表达式>
FROM <表1> FULL [ OUTER
【小结或讨论】
本次实验主要使用了多表连接,内连接操作,当我们想基于两个或多个表中的共同数据进行查询,我们可以使用连接查询。连接查询涉及到多个表,我们需要通过特定的条件查询两个或多个表中的数据。以下是几种连接查询类型:内部连接查询,返回两个表中明确匹配的行外部连接查询,返回不仅匹配而且不匹配的行。有左外连接,右外连接和全外连接。自连接查询表本身和它自己进行连接查询。至于多表查询,个人觉得和内连接查询比较类似。多表查询是指在一个 SQL 查询语句中使用多个表进行查询和分析数据的操作。当数据存储在多个表中时,使用多表查询可提供更准确、更有用的信息。在多表查询中,需要使用 JOIN 关键字将两个或多个表连接起来,本质上就是内部连接,以此实现数据的综合查询。常用的多表查询包括 INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和 FULL OUTER JOIN(全连接)等。在实验中,我们可以发现,要想查一个信息的时候,可以使用不同的语句去查询,这对我们自身要求提出了一定的要求,在日后的生活中我们要多多使用SQL语句,提升自身能力。