sql使用学习(三)

聚合函数:

count,sum,AVG,最大最小值)

having短语和where子句:

different objects

where子句作用于基表或视图,从中选择满足条件的祖先。集合函数

having短语不能在where子句中用作group by。选择一个满意的组

多个表查询:连接查询

格式:

[表名1。]列名1比较运算符[表名2。]列名2

[表名1。][表名2之间的列名1。]列名2和[表名2。]列名3

连接条件所有连接字段类型必须相同。但是名称可以不同

1。嵌套循环方法:不排序,逐个搜索第一个表中的元组(每行),然后开始逐个查找表2的祖先,搜索满足连接条件的祖先以生成新的表

2。排序合并先发送:排序,常用短语对等连接,效率提高

3。索引连接:索引表2中的连接字段

1.1等联接:连接运算符为“=”,自然联接

例:等联接查询每个学生及其选修课程

例:自然联接基于等联接以消除同一表中的重复

自联接。您需要别名表

例如:查询每个进程的间接前进程

外部连接与普通连接之间的区别:

普通连接只输出满足连接条件的元组

以指定的表为主体的外部连接。主题表中的非限定连接祖先也被输出

到左外部连接和右外部连接

复合条件连接:其中包含多个条件

嵌套查询连接:不相关的子查询应该注意

1。子查询不能使用order by子句。因为最终结果将被查询

2。有些嵌套可以用joins

3替换。从内到外:子查询的结果用于建立其父查询

1.1带IN谓词的嵌套子查询的条件(参见上面的IN语句)

1.2带比较运算符的子查询(只能返回单个值,可以与全部或任意值一起使用)。子查询必须跟在比较器之后)

带有任何(某些)或所有谓词的子查询:

any或min

大于子查询中的值

all或max

大于子查询中的所有值

小于子查询中的值

小于子查询中的所有值

小于子查询中的所有值

!=(或)any

不等于子查询

!=(或)all

不等于带有exists谓词

set查询的子查询

子查询中的任何值:参与intersect操作的查询结果列数必须相同,并且数据类型必须相同

例如:计算机科学系学生和19岁以下学生:在两个查询语句之间添加union语句(删除重复数据);当没有删除重复数据时,使用union all