数据库查询语言

数据库查询语言

  数据库(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 一致
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值