您的位置:首页 > 数据库

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:参加集合操作的各查询结果的列数必须相同,对应项的数据类型也必须相同。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: