数据库系统2:SQL数据查询

1、单关系查询

重点

  • 优先级:NOT>AND>OR
  • 涉及到空值的查询条件只能使用is/is not,不能使用=、!=、<>等。
  • DISTINCT作用范围是所有目标属性,只能出现一次。
  • ORDER BY只能用于对最终结果进行排序,不能对中间结果排序。
  • ORDER BY只能出现在查询语句的最后。
  • 聚集函数不能出现在where子句里。
  • select子句的目标属性只能包含分组属性和聚集函数;
  • havingz子句的分组筛选条件允许出现聚集函数
  • where、group by、having的执行顺序:
    - where子句从from子句中给定的关系选择满足查询条件的元组
    - group by子句对where子句过滤后得到的元组进行分组
    - having对分组内的元组进行筛选;

1.1 投影操作

不去除重复元组(与关系代数投影操作不同)。
**消除重复元组**
在这里插入图片描述

1.2 重命名操作

在这里插入图片描述

1.3 查询满足条件的元组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4 集合操作

在这里插入图片描述

1.5 分组聚集查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、连接查询

若一个查询同时涉及到两个或两个以上的关系的连接,则叫做连接查询;

  • inner join =join
  • left outer join=left join
  • right outer join=right join;

2.1 内连接

//笛卡尔积+选择方式
select 属性 from1,表2... where 条件;
//ANSI连接方式
select 属性 from1 [inner] join2 on 连接条件;
//等值连接且连接属性名相同时
select 属性 from1 [inner] join2 using 连接属性列表;

2.2 外连接

外连接分为:

  • 左外连接(left outer join)
  • 右外连接(right outer join)
  • 全外连接(full outer join)

在这里插入图片描述
在这里插入图片描述
FULL OUTER JOIN产生1和2的并集。但是需要注意的是,对于没有匹配的记录,则会以null做为值。
在这里插入图片描述

2.3 自然连接

自然连接不用指定连接列,也不能使用ON语句,它默认比较两张表里相同的列,

2.4 自连接

  • 语法与连接相同
  • 属性名前必须使用别名做前缀
  • 必须为关系取别名

3、嵌套查询

在这里插入图片描述
在这里插入图片描述

4、视图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值