4.1.2 SQL语言的特点
1、一体化
2、高度非过程化
3、面向集合的操作方式
4、提供多种方式使用
5、语言简洁
4.1.3 SQL语言的功能
数据定义、数据查询、数据操纵和数据控制
4.3 数据定义功能
4.3.1 数据库的定义
创建数据库:create database <数据库名>
数据库修改:alter database <数据库名>
数据库删除:drop database <数据库名>
4.3.3 表的定义
创建表:create table <表名>
列级完整性约束:Not Null(非空约束)、primary key(主键约束)、foreign key(外键约束)、unique(唯一值约束)、default(默认值约束)、check(列取值范围约束)
表的修改:alter table
4.4 数据查询功能
例:查询全体学生的全部信息
select * from 表名
in 运算符可用于查找属性值在指定范围内的元组
语法格式为 :列名[not] in
like运算符的一般格式为:列名 [not] like <匹配串>
like中可使用的4种通配符:_(下划线):匹配任意一个字符
%:匹配0到多个字符
[ ]:匹配[ ]中的任意一个字符
3、对查询结果进行排序:order by <列名>[asc|desc]
4、使用聚合函数统计
count(*):统计表中元组的个数
sum(列名):计算列值的和值
avg(列名):计算列值的平均值
max(列名):得到列值的最大值
min(列名):得到列值的最小值
5、对数据进行分组
group by <分组依据列>
where子句用来筛选from子句中指定的数据源所产生的行数据
Group by子句用来对经where子句筛选后的结果数据进行分组
having子句用来对分组后的统计结果再进行筛选,放在Group by子句之后
4.4.3 多表连接查询
1、内连接
from 表1 [inner] join 表2 on <连接条件>
外连接
from 表1 LEFT|RIGHT join 表2 on <连接条件>
4.4.6 子查询
写在WHERE子句中的子查询通常有如下几种形式:
WHERE <列名> [NOT] in (子查询)
WHERE <列名> 比较运算符 (子查询)
WHERE EXISTS (子查询)
4.4.7 查询的集合运算
并:UNION
交:INTERSECT
差:EXCEPT
4.5 视图
视图对应于三级模式中的外模式
定义视图:create view <视图名>
删除视图:DORP VIEW