SQL----关系型数据库之连接查询
来源:互联网 发布:淘宝卖家草稿箱在哪里 编辑:程序博客网 时间:2024/06/05 06:08
在面试中有面试官提到关于连接查询的问题,所以特意查找了一下有关连接查询的概念。
连接查询是关系型数据库中主要的查询。包括以下:等值连接查询,自然连接查询,非等值连接查询,自身连接查询,外连接查询和复合连接查询等。
1.等值与非等值连接查询
SELECT * FROM <表名1> ,<表名 2>
WHERE [<表名 1>.] <列名 1> <比较运算符> [<表名 2> .]<列名 2>
当<比较运算符>为 = 时称为等值运算符,使用其他运算符称为非等值连接。
2.自然连接:等值连接中把重复的属性列去掉则为自然连接。
3.自身连接:表自己跟自己连接
4.外连接查询。
通常的连接操作,只有满足连接条件的元组才能作为结果输出。即将主体部分的所有悬浮元组都保存在结果集中。
左外连接列出左边关系中所有元组,右外连接列出右边关系中所有元组。
5.多表连接,即三个以及三个以上的表连接进行查询。
嵌套查询:
SELECT Sname FROM Student //外层父查询
WHERE Sno IN
( SELECT Sno FROM SC WHERE Con='2'); //内层子查询
* 子查询条件不依赖夫查询,称为不相关子查询 。否则称为相关子查询
带有EXISTS谓语的子查询:即:EXISTS代表存在量词。带有EXISTS谓语的子查询不返回任何数据,只产生逻辑真值 ‘True' 或 ’False'。
SELECT Sname FROM Student //外层父查询
WHERE EXISTS
( SELECT * FROM SC WHERE Sno=Student.Sno AND Con='1'); //内层子查询
*使用存在量词EXISTS后,若内层查询结果非空,则外层的WHERE子句返回真值,否则返回假值。集合查询:
SELECT语句的查询结果是元组的集合,所以多个SELECT语句的查询结果可以进行集合操作。
并操作:UNION 交操作:INTERSECT 差操作: EXCEPT
- SQL----关系型数据库之连接查询
- 数据库SQL之表关系&连接查询
- SQL----关系型数据库之数据查询
- 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
- Oracle数据库之SQL连接查询
- Spark-SQL连接MySql关系型数据库
- 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
- 关系型数据库基础之:组合查询
- SQL之连接查询
- SQL之[连接查询]
- WCF初见之SQL数据库的连接和查询
- WCF初见之SQL数据库的连接和查询
- SQL----关系型数据库之模式
- SQL 数据库的连接查询
- SQL之数据库查询
- 数据库(3) SQL查询 -- 连接查询
- 教学思路SQL之入门习题《学生成绩》 四、多表连接关系查询
- orcale数据库之连接查询
- 链接
- ffmpeg查看音频波形
- HDU 3065 病毒侵袭持续中(AC自动机 数组模板)
- 【Scikit-Learn 中文文档】密度估计
- 字符集的概念(ASCII、GBK、Unicode等都是什么鬼)
- SQL----关系型数据库之连接查询
- 解决通过dataSource.filter(filters)过滤后分页信息以及聚合列不刷新问题
- 库房管理系统--知识点总结
- ffmpeg探测音频静音
- 自动登陆(过滤器)
- 数据库事务
- Java常见面试题
- 微信小程序地图导航
- 十、python中的文件操作