天天看点

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

数据查询

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

一、单表查询

1.定义

是指仅涉及一个表的查询

2.选择表中的若干列

  • 查询指定列
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 例:
      • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 查询全部列
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 例:
      • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 查询经过计算的值
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 例:
      • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

3.选择表中的若干元组

  • 消除取值重复的行
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 例:
      • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 查询满足条件的元组
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 比较大小:
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 例:
        数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 确定范围:
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 例:
        数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 确定集合:
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 例:
        数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 字符匹配:
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 例:
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 涉及空值的查询:
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 例:
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
        • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 多重条件查询:
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      • 例:
        数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

4.ORDER BY子句

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

5.聚集函数

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

6.GROUP BY子句

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

二、连接查询

1.定义

同时查询两个以上的表,连接查询是关系数据库中最主要的查询

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

2.连接操作的执行过程

  • 嵌套循环法:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 排序合并法:
  • 索引连接:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

2.等值与非等值连接查询

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

3.自身连接

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

4.外连接

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

5.多表连接

  • 数据库管理系统在执行多表连接时,通常是先进行两个表的连接操作,再将其连接结果与第三个表进行连接
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

三、嵌套查询

1.概述

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

2.嵌套查询求解方法

  • 不相关查询:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 相关查询:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

3.带有IN谓词的子查询

  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

4.带有比较运算符的子查询

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

5.带有ANY(SOME)或ALL谓词的子查询

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

6.带有EXISTS谓词的子查询

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 例:
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
      数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

四、集合查询

1.概述

SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

2.例题

  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
    数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
  • 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

六、SELECT语句的一般格式

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

1.目标列表达式的可选格式

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

2.聚集函数的一般格式

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

3.WHERE子句的条件表达式的可选格式

数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

参考-《数据系统概论(第五版)》-人民大学-王珊