文章目录
一、什么是连接查询?
连接查询是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,然后通过连接进行查询。SQL中连接查询的主要类型有:
1. 广义笛卡尔积
2. 等值连接查询(含自然连接)
3. 非等值连接查询
4. 自身连接查询
5. 外连接查询
6. 复合条件连接查询
简而言之,连接查询就是同时涉及多个表的查询;用来连接两个表的条件称为:连接条件或连接谓词。
二、连接查询的执行过程是怎样的?
连接查询的执行过程是嵌套循环法(NESTED-LOOP)。实际上就是把两个表连接起来、合二为一生成一个新的表,新表中的元素包含原来的表中的所有元素。假设表1为下图中的表2.1,表2为下图中的表2.2,进行连接后生成结果表:表3下图中的表2.3如图:
三、什么是广义笛卡儿积?
广义笛卡儿积即不带连接谓词的连接,几乎很少使用。例如:
Select Student.* , SC.*
From Student, SC;
三、等值连接查询怎样使用?
等值连接查询是连接运算符为 “=” 的连接操作;任何子句中引用表1和表2