数据库查询语言
数据库查询语言
数据库查询语言
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库;随着信息技术市场的发展,数据管理不再仅仅是存储和管理数据,而变成用户所需要的各种数据管理方式。
数据库现在已经成为数据管理的重要技术,也是计算机的重要分支。由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性,易于扩展、易于编制应用程序等优点、较大的信息系统都是建立在数据库设计之上的。
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
SQL语言
SQL语言是数据库的语言,是一个通用的、功能极强的关系型数据库语言,它包含三部分。数据定义语言(DDL)、数据管理语言(DML)和数据库控制语言(DCL)。其中数据库管理语言又可以细分为数据查询语言(DQL)和数据管理语言(DML)。
命令不区分大小写,存储的数据区分大小写。
查询字段:
select distinct *|字段|表达式 as 别名 from 表 表别名
去重复:
使用 distinct 去重,确保查询结果的唯一性
别名:
使用别名便于操作识别 、隐藏底层信息,字段别名可以使用as,表别名不能使用as
select ename as “雇员 姓名” from emp;
select ename “雇员姓名” from emp;
select ename 雇员姓名 from emp;
select ename as 雇员姓名 from emp;
select ename as " Ename" from emp;
““原样输出可以存在空格和区分大小写
字符串:使用’’表示字符串(注意区分””) ,拼接使用 ||
伪列:不存在的列,构建虚拟的列
虚表:用于计算表达式,显示单条记录的值 dual
select 1+1 from dual;
null:null 遇到数字参与运算的结果为 null,遇到字符串为空串
查询行(记录):
where 过滤行记录条件 ,条件有
a)、= 、 >、 <、 >=、 <=、 !=、 <>、 between and
b)、and 、or、 not、 union、 union all、 intersect 、minus
c)、null :is null、 is not null、 not is null
d)、like :模糊查询 % _ escape(‘单个字符’)
f)、in 、 exists(难点) 及子查询
g)、order by 字段 desc|asc
函数—单行函数
- 一条记录返回一个结果
- sysdate/current_date 以date类型返回当前的日期
- add_months(d,x) 返回加上x月后的日期d的值
- LAST_DAY(d) 返回的所在月份的最后一天
- months_between(date1,date2) 返回date1和date2之间月的数目
- next_day(sysdate,‘星期一’) 下周星期一
- months_between(sysdate,date)从date到目前为止的月份数
- to_date(‘2019/6/20 14:20:13’,‘yyyy/mm/dd hh24:mi:ss’)字符串转时间
- to_char(‘yyyy/mm/dd hh24:mi:ss’,‘2019/6/20 14:20:13’)时间转字符串
- decode (判断字段,值1,结果1,值2,结果2,值3,结果3…默认值)判断函数
- (case 判断字段 when 值1 then 结果 else 默认 end)判断函数
函数—多行函数
组函数|多行函数|聚合函数 即多条记录 返回一个结果。我们需要掌握如下几个组函数:
avg 、sum、 min、 max、 count
组函数只能和组函数和分组字段一起使用,组函数不能在where中使用。
组函数仅在选择列表和Having子句中有效
执行顺序: from–where–group by–having–select–order by
分组: group by , 将符合条件的记录 进一步的分组
过滤组:having , 过滤组信息 ,表达式 同 where 一致