浅谈数据库视图与内、外连接
2017-04-09 11:39
295 查看
1、视图
视图(View)是从一个或多个表(或视图)导出的表,通常是一个表或者多个表的行或列的子集。
视图虽然具有和表相同的功能,但与表不同,视图是一个虚拟的表,并不代表任何物理数据,只是用来查看数据的窗口而已。
视图并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据,这些数据仍存储在导出视图的基本表中,当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。。
可以对视图进行增,改,查,操作,但对视图的修改不影响基本表。
使用视图可以简化数据库显示,用户可以通过视图来访问数据,而不必直接去访问该视图的基本表,使得获取数据更容易。
2、内连接
即自然连接,只有两个表相匹配的行才能在结果集中出现。
select A.col1, B.col2 from A join B on A.col3 = B.col3;
3、外连接
1) 左外连接
结果集中包含左表的全部行以及右表中全部匹配的行。
select A.col1, B.col2 from A left join B on A.col3 = B.col3;
2) 右外连接
结果集中包含右表的全部行以及左表中全部匹配的行。
select A.col1, B.col2 from A right join B on A.col3 = B.col3;
3) 全外连接
结果集中包含两个表的全部行,不管是否存在相匹配的行
select A.col1, B.col2 from A full join B on A.col3 = B.col3;
视图(View)是从一个或多个表(或视图)导出的表,通常是一个表或者多个表的行或列的子集。
视图虽然具有和表相同的功能,但与表不同,视图是一个虚拟的表,并不代表任何物理数据,只是用来查看数据的窗口而已。
视图并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据,这些数据仍存储在导出视图的基本表中,当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。。
可以对视图进行增,改,查,操作,但对视图的修改不影响基本表。
使用视图可以简化数据库显示,用户可以通过视图来访问数据,而不必直接去访问该视图的基本表,使得获取数据更容易。
2、内连接
即自然连接,只有两个表相匹配的行才能在结果集中出现。
select A.col1, B.col2 from A join B on A.col3 = B.col3;
3、外连接
1) 左外连接
结果集中包含左表的全部行以及右表中全部匹配的行。
select A.col1, B.col2 from A left join B on A.col3 = B.col3;
2) 右外连接
结果集中包含右表的全部行以及左表中全部匹配的行。
select A.col1, B.col2 from A right join B on A.col3 = B.col3;
3) 全外连接
结果集中包含两个表的全部行,不管是否存在相匹配的行
select A.col1, B.col2 from A full join B on A.col3 = B.col3;
相关文章推荐
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第一部分 视图View与连接Join)
- 面对linq的连接查询,我还是选择了数据库视图
- Django视图之ORM更改数据库连接——配置MySQL库
- delphi连接数据库浅谈
- 浅谈数据库连接
- delphi连接数据库浅谈
- 浅谈数据库连接
- 浅谈数据库连接
- [自学]右连接,全连接,数据库的视图和索引
- 好文章——浅谈数据库连接
- 浅谈数据库连接
- 菜鸟列举小例浅谈数据库之------视图
- 浅谈通过各种方式java连接数据库
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- 浅谈数据库之视图
- 浅谈数据库连接
- 浅谈数据库连接
- ★ 浅谈如何使用ADO.NET连接数据库 ★
- delphi连接数据库浅谈