数据库知识回顾

数据库知识回顾:

sql语句的语法规范:

  1. sql语句不区分大小写,习惯上系统的保留字、关键字、函数名称大写,表名和列名小写
  2. 使用空格和换行分隔单词效果一样,一般情况下独立的整句不换行,不同的子句需要换行,where子句中每个条件占一行
  3. sql语句以分号作为分隔符,系统读取到分号才会执行语句
  4. 复杂的sql可以加上注释予以说明

--单行注释

 

/*

多行注释

多行注释

*/

 

/*
select 列名1,列名2,……列名n 定义查询数据所在的列
from 表1,表2,……表n 定义查询数据所在的表
where 限定条件1 and/or 限定条件2…… 定义查询数据的范围(行)
group by 列名1,列名2,……列名n 定义分组函数的分组方式
having 分组条件1 and/or 分组条件2…… 定义查询数据的分组条件
order by 列名1 asc/desc,列名2 asc/desc,……列名n asc/desc 定义查询数据的排序方式
*/

 

1. 行函数

1) 字符函数:大小写转换,字符截取,空值判断……

2) 数字函数:向下取整,取余,四舍五入、截取

3) 日期函数:日期运算、加月份、当月最后一天、下一个星期几、系统时间

4) 转换函数:日期和字符之间的转换,数字转换字符

5) Decode函数:对不同的值给予不同的结果

6) 函数嵌套:一个函数的结果作为另一个函数的参数

2. 多表查询

1) 需要将多个表的数据显示在同一个查询结果时使用多表查询

2) 从多张表查询时需要使用连接来避免笛卡尔积

3) 查询n张表需要用到n-1个连接

4) 等值连接:表1的外键等于表2的主键

5) 不等值连接:表1的某列数据于表2的某列数据有其他比较关系

6) 自连接:本表的外键等于本表的主键

7) 外连接:不满足连接条件的数据也同样显示

3. 分组函数

1) Avg求平均值,sum求和,count计数,max求最大值,min求最小值

2) 使用group by语句对数据分组,每组数据产生一个结果

3) 出现在select语句中的普通列必须出现在group by子句中

4) Where子句可以限定分组函数计算的范围,但不能出现分组函数的条件

5) Having子句限定分组函数的条件

4. 子查询

1) 将一个查询结果作为另一个查询的条件

2) 子查询可以出现在where子句中作为限定条件,也可以出现在from后面,将查询结果作为一张表来进行查询

3) 子查询必须用括号括起来,并且在where子句中只能出现在比较运算符右侧

4) 单行子查询使用单行运算符,比较条件和查询出的数据类型及格式要一致

5) 多行子查询使用多行运算符:inallany

6) 多列子查询使用多列运算符:in

7) 使用rownum 进行分页查询

相关文章
相关标签/搜索