计算机三级 - 数据库技术 - 第六章 高级数据查询 笔记

内容提要:

  1. 掌握一般数据查询功能扩展
  2. 掌握查询的并、交、差运算
  3. 掌握子査询的使用
  4. 了解其他一些査询功能

SQL基本语句概括:

select语句格式:

6.1 一般数据查询功能扩展

6.1.1 使用top限制结果集

  • 语法格式:TOP n [percent][WITH TIES]
    1. Top n :取前n行数据;
    2. Top n [percent] :取前n%行数据;
    3. [WITH TIES] : 表示包括最后一行取值并列的结果。

6.1.2使用CASE函数

  • 目的:分情况显示不同类型的数据。CASE函数是一种多分支表达式。
  • 分两种类型:
    • 简单 case 函数:

  • 搜索case函数:

6.1.3  将查询结果保存到新表中

注意点:

  • 表名前加#表示局部临时表
  • 表名前加##表示全局临时表
  • 只有表名为永久表

 

6.2 查询结果的并、交、差运算

6.2.1 并运算(UNION)

使用UNION谓词的语法格式:

Select   语句1

Union [ All ]

Select   语句2

Union [ All ]

·····

Select   语句n

 注意:union 运算自动去除重复,如需保留重复必须用union all

  • 要进行合并的查询,SELECT中列数必须相同,语义相同。
  • 每个相对应列的数据类型隐式兼容如char(20)与varchar(40).
  • 合并后结果采用第一个SELECT语句的列标题
  • 若需排序,则GROUP BY语句写在最后一个SELECT之后

6.2.2 交运算(INTERSECT)

返回同时在两个集合中出现的记录

使用INTERSECT谓词的语法格式:

Select   语句1

INTERSECT

Select   语句2

INTERSECT

·····

Select   语句n

6.2.3 差运算(EXCEPT)

返回第一个集合中有而第二个集合中没有的记录

使用EXCEPT谓词的语法格式:

Select   语句1

EXCEPT

Select   语句2

EXCEPT

·····

Select   语句n

6.3 相关子查询

  1. 使用子查询进行基于集合的测试:
    • Where 表达式  [ not ]  in (子查询)
  2. 使用子查询进行比较测试:
    • Where 表达式 比较运算符 (子查询)
  3. 使用子查询进行存在性测试:
    • Where [not] exists (子查询)

其余章节进我主页进行查看

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值