Oracle 查询02

模糊查询

1."_"代表任意一位字符

2.”%“表示任意位数的任意字符

3.模糊查询关键字“LIKE”

模糊查询的格式

SELECT *

​ FROM 数据来源,数据来源…

​ WHERE 需要模糊查询的字段 LIKE 模糊查询的关键字

例如:查询姓名中第二个字母为A的人员信息

模糊查询01

排序查询

1.排序查询要求指定的字段必须是日期或者是数字

2.关键字 ORDER BY

排序查询格式

SELECT *

​ FROM 数据来源,数据来源…

​ WHERE 判断条件

​ ORDER BY 需要排序的字段 ASC/DESC


ASC:升序

DESC:降序

如果写默认是升序

例如:按薪资升序查询

排序查询

多表查询

多表查询格式

SELECT *

​ FROM 数据来源,数据来源…

​ WHERE 判断条件

​ ORDER BY 需要排序的字段 ASC/DESC


1.在多表查询中最终查询出来的数据量是多张表的乘积里面有很多的重复的数据,这种现象叫做笛卡尔积,消除笛卡尔积需要增加一个WHERE子句,WHERE的过滤条件是多张表中关联的字段。

2.多表查询又叫连接查询

3.多表查询会产生笛卡尔积,所以数据量大的时候不要使用。

例如:查询每个员工的编号,姓名,职位,薪资,薪资等级,部门名称和位置。

在这里插入图片描述

内连接查询

上面的多表查询就是一个内连接查询

内连接查询的特征是满足过滤条件的数据才会被显示出来

内连接的其他实现方式

使用 INNER JOIN 实现,在ON之后去掉笛卡尔积

在这里插入图片描述

外连接查询

右外连接查询:可以让右表不满足条件的显示出来。

左外连接查询:可以让左表不满足条件的显示出来。

全连接查询:可以让左表和右表不满足条件的都显示出来

(为了方便观察我在emp表中增加了也个人员 编号为1001 姓名为;张三 ,薪资为30000 ,岗位为:清洁工 如图)

内连接查询01

Oracle特有方式右外连接查询案例

右外连接查询

Oracle特有方式左外连接查询只是把“(+)”换到了右边,这样就是Oracle特有方式左外连接查询方式了。

通用的外连接查询

左外连接查询:使用 LEFT OUTER JION 实现,在ON之后去掉笛卡尔积

右外连接查询:使用 RIGHT OUTER JION 实现,在ON之后去掉笛卡尔积

全外连接查询:使用 FULL OUTER JION 实现,在ON之后去掉笛卡尔积

通用左外连接查询

在这里插入图片描述

通用右外连接查询

在这里插入图片描述

通用全外连接查询

在这里插入图片描述

一些常用的函数

Oracle提供的函数中常用的几个

COUNT(*/字段):统计出查询到的数据量。

SUM(字段):计算出指定字段的数据之和(字段为数值才右意义)

AVG(字段):计算出指定字段的平均值(字段为数值才右意义)

MAX(字段):统计出指点字段的最大值(字段为数值或日期才右意义)

MIN(字段):统计出指点字段的最小值(字段为数值或日期才右意义)

SYSDATE:获得当前日期

NVL(eExpression1,eExpression2):如果eExpression1不为空就返回eExpression1,如果eExpression1为空

eExpression2不为空就返回eExpression2,如果eExpression1,eExpression2都为空就返回null。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:COUNT()会统计所有的数据量,不会对数据进行过滤。

COUNT(字段)会统计该字段数据不为空的数据量。

COUNT( DISTIGCT 字段) 会统计该字段数据不为空且去掉重复之后的数据量。

分组统计查询

关键字:GROUP BY

格式

SELECT *

​ FROM 数据来源,数据来源…

​ WHERE 判断条件

​ GROUP BY 需要分组的字段名

​ ORDER BY 需要排序的字段 ASC/DESC


语句执行顺序为:第一步 FROM 子句,第二步 WHERE 子句,第三步 GROUP BY 子句 ,第四步 SELECT 子句,第五步 ORDER BY 子句。

例如:统计出每个部门的名称,人数,以及每个部门的最高薪资和最低薪资。

在这里插入图片描述

分组查询需要注意的问题

1.如果SELECT 子句中出现了统计函数,且sql语句中没有GROUP BY子句,那么SELECT 子句中只能出现统计函数,不能出现其他字段。

在这里插入图片描述

2.如果在SELECT 子句中出现了统计函数,且右GROUP BY 子句,则在SELECT子句中只能出现统计函数和分组的字段

在这里插入图片描述

3.如果SELECT子句中出现了嵌套统计函数那么不管有没有 GROUP BY 子句 ,SELECT 子句中都不能有统计函数之外的任何字段。

在这里插入图片描述

4.WHERE 子句不能使用分组统计函数

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值