数据库系统原理
  • 数据库系统原理
  • 引言
    • 数据库系统概述
  • 关系模型介绍
    • 关系数据库结构
    • 数据库模式
    • 关系代数
      • 选择运算
      • 投影运算
      • 笛卡尔运算
      • 连接运算
      • 集合运算
      • 其他运算
  • SQL介绍
    • SQL语言分类
    • SQL数据类型
    • SQL数据库操作
    • SQL数据表操作
    • SQL数据操纵语言
    • SQL数据查询语言
    • 集合运算
    • 聚集函数
  • 中级SQL
    • 连接查询
    • 内连接
    • 外连接
    • 交叉连接和自连接
    • 视图
    • 完整性约束
    • SQL用户和授权
  • 高级SQL
    • 函数
    • 存储过程
    • 触发器
  • ER模式数据库设计
    • 数据库设计过程概览
    • 需求分析
    • 实体-联系模型
      • 复杂属性
      • 映射基数和弱实体集
    • 将E-R图转换为关系模式
    • E-R模型设计
  • 关系数据库设计
    • 数据库设计规范化
    • 函数依赖理论
    • 关系范式
  • 半结构化数据
    • 半结构化数据
  • 应用程序开发
    • ADO.NET访问数据库技术
    • 断开模式数据查询
    • 连接模式数据更新
  • 数据存储结构
    • 磁盘
    • 文件的存储
    • 文件的逻辑结构
    • 文件组织
  • 索引
    • 索引基本概念
    • B树索引
    • B+树索引
    • MySQL索引的基本语法
    • 联合索引
  • 查询处理
    • 查询处理概述
  • 查询优化
    • 查询优化概述
    • 查询树的启发式优化(代数优化算法)
  • 事务
    • 事务的概念
    • 事务的特性
    • MySQL事务处理
    • 可串行化
  • 并发控制
    • 并发控制概述
    • 封锁
    • 两阶段封锁协议封锁
    • 多粒度封锁
    • 活锁和死锁
    • 基于时间戳排序的并发控制
    • 乐观控制法
  • 恢复系统
    • 数据库恢复概述
    • 数据库恢复的实现技术
    • 基于检查点的数据库恢复
Powered by GitBook
On this page
  • 自然连接
  • 等值与非等值查询
  1. 中级SQL

内连接

Previous连接查询Next外连接

Last updated 4 months ago

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。

内连接分三种:

  1. 等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

  2. 非等值连接:在连接条件使用除等于号(=)运算符以外的其他比较运算符比较被连接的列的列值。这些运算符包括>,≥,≤,<,!>,!<,≠。

  3. 自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

两种语法都可以实现内连接操作:

  • 在select 语句的where 子句中使用比较运算符给出连接条件对表进行连接。

  • 用表名1 inner join 表名2 on 连接条件 语句进行连接,join 指定需要连接的数据表,on 指定连接条件(inner 可省略)

自然连接

将多个表中的共享列值进行比较,把表中满足连接条件的行组合起来,作为查询结果。

示例:将学生信息表和成绩信息表进行连接。

等值与非等值查询

连接查询中用来连接两个表的条件称为连接条件或连接谓词,其一般格式为:

[<表名1>.]<列名1> <比较运算符> [<表名2.>]<列名2>

当连接运算符为=时,称为等值连接,其查询结果中列出被连接表中的所有列,包括其中的重复列。

使用其他运算符称为非等值连接。这些运算符包括>,≥,≤,<,!>,!<,≠。

示例:根据学生的成绩查询其可以申请的奖学金等级

等值连接与自然连接的区别:

  1. 自然连接一定是等值连接,但等值连接不一定是自然连接。

  2. 等值连接要求相等的值,不一定是公共属性;而自然连接要求相等的值必须是公共属性。

  3. 等值连接不把重复的属性除去,而自然连接需要。