SQL数据查询基础
2015-11-14 13:38
344 查看
一、单表查询
1. group by 子句
group by 子句将查询结果按某一列或多列的值分组,值相等的为一组。
如果分组后还要求按一定的条件对这些组进行筛选,可以使用having短语指定筛选条件。
where子句与having短语的区别在于作用对象不同。where子句作用与基本表或视图,而having短语作用于组。
二、连接查询
前面的查询都是针对一个表进行的,若一个查询同时涉及两个以上的表,则称之为连接查询。
1. 等值与非等值连接查询
当连接运算符为=时,称为等值连接,否则为非等值连接。
若在等值连接中把目标列中重复的属性列去掉则为自然连接。
2. 自身连接
连接操作不仅可以在两个表之间进行,也可以是一个表与其自己进行连接,称为表的自身连接。
3. 外连接
在通常的连接操作中,只有满足连接条件的元组才能作为结果输出。
如果想以student表为主体列出每个学生的基本情况及其选课情况。若某个学生没有选课,仍把舍弃的student元组保存在结果关系中,而在选课表的属性上填空值null,这时就需要使用外连接。
左外连接列出左边关系中所有的元组。
右外连接列出右边关系中所有的元组。
4. 复合条件连接
where子句中有多个连接条件,称为复合条件连接。
三、嵌套查询
在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询。
四、集合查询
select语句的查询结果是元组的集合,所以多个select语句的结果可进行集合操作。
集合操作主要包括:并操作union、交操作intersect、和差操作 except。
ps:参加集合操作的各查询结果的列数必须相同,对应项的数据类型也必须相同。
相关文章推荐
- mysql命令行备份数据库
- mysql使用笔记:有则更新,无则插入
- 码,主码,主属性,非主属性,平凡函数依赖,完全依赖等词解释
- SQL笔试基础科普
- 基于存储加密的数据库安全保密系统
- MongoDB数据导出导入工具
- MySQL常用的指令
- 数据库的小练习题目
- mysql error 1064
- 数据库的有关练习题目
- Web Sql database 本地数据库
- SQL语言
- [QDB] 幽灵分享:QDataSet+TQMSSQLConverter 实战技巧
- SQLite学习笔记(八)&&sqlite实现架构
- Mysql使用技巧
- oracle 11g RAC 的一些基本概念(一)
- oracle 11g RAC 的一些基本概念(二)
- redis配置不当可直接导致服务器被控制
- 1. Oracle概念笔记一序言
- MYSQL添加远程用户或允许远程访问三种方法