(5)连接与视图

(1)连接表达式

格式示例:

                                 

join为连接方式,有内外连接两种,两种连接完的表均有两个连接列。on后面为连接条件,用法类似于where。

①内连接(inner join)

                               

舍弃不匹配的元组,即不满足R.C=S.C的元组直接舍弃,注意连接完有两个C列。

②外连接(outer join)

外连接不但会返回匹配的行,还会返回不匹配的行。左外连接就是把左边的都保存了,右边缺失的补null。

---左外连接(右边不满足连接条件的用null补)

                                 

---右外连接(左边不满足条件的用null补)

---全外连接

                          

---非主体表                  

              

连接条件属性列加(*)或者(+),说明该表为非主体表,右边是非主体表则这个连接是左外连接,同理,左边是非主体表的话这个连接就是右外连接。

(2)视图

①什么是视图?

   视图只是定义了一个查询,不包含实际数据,也不要求分配空间。视图中的数据都是从基表中获取,这些数据在视图被引用时动态地生成。

②视图的定义与删除

列名可以显式地指明,也可不指明,不指明是使用查询结果的列名,但是一下情况必须显式地指明(查询结果列名不可用)

①某一列是目标表达式(sal*0.9)或聚集函数(avg(score))。

②多表连接有同名字段(连接的时候同名字段不合并)。

③想要给属性列起一个更合适的名字。

目标列是*。(注意)

                                             

发布了21 篇原创文章 · 获赞 4 · 访问量 6809

猜你喜欢

转载自blog.csdn.net/nailuoch/article/details/100096750