oracle基础01

ORACLE中查增删改查语句的使用以及语法

添加信息

--全部字段都需要赋值,value需要和数据表的字段顺序一致
insert into 表名 values(?,?,?,?,...);
--部分指定赋值,values需要和指定的字段顺序和数量一致
insert into 表名(字段名...) values(?,?,?,?...);

模糊查询

like '张_' 只匹配 张某
like '张%' 匹配 张 后面随意多少都可以
like '%张' 匹配 张 前面都少位都可以
like '%张%' 匹配随意多少位 张 随意多少位
like '12[1-3]' 只匹配 12 后面13之间的
like '12[^8]' 只匹配 12 后面不等于8

匹配查询

--多匹配
where address in ('广东','上海','江西')
--匹配单个
where address on "南昌" 或者 where address='南昌'

大小写转换函数

lower(’CH‘) 转成小写
upper('ch') 转成大写

查询当前时间距离指定时间的天数

select localtimestamp-时间字段 from 表名;
select sysdate-时间字段 from 表名;

聚合函数

  • SUM(要求和字段)
  • AVG(要求平均分的字段)
  • MAX(要求最大值的字段)
  • MIN(要求最小值的字段)
  • COUNT(要求总行数的字段)
  • Round(数值类型的字段可以是其他计算的聚合函数,小数的长度)
  • TO_DATE(“要转换成时间类型的字符串”,“时间表达式:比如yyyy-MM-dd”)
  • TO_CHAR(要转换成普通字符串的时间类型字段)

分组查询

按照地址分类查询,select 后面查询字段只能出现地址这个字段以及聚合函数,其他也是如此

--查询每个地区的人数
select address as 地址, COUNT(*) as 人数 from stu group by address
--查询每个学生的平均分并排序
SELECT s_id,ROUND(avg( s_score ) , 2) 平均分 FROM score GROUP BY s_id order by 平均分 desc 

HAVING和WHERE的区别:

HAVING是专门给GROUP BY 追加筛选条件的,在 分组之后的筛序
WHERE是分组之前的帅选,从原表进行筛选

三种多表连接查询

  • INNER JOIN
    常用的连接:用表中的通用列去进行匹配,如果值一样的话就能匹配连接
  • LEFT JOIN
    在A表(主表)和B表(从表)中,如果A表和B表的通用列,B表中有一个值没有但是A表中有,这时候使用左查询的话,A表中的所以数据会查出来,在B表中没有匹配到的数据就是null
  • RIGHT JOIN
    在A表(从表)和B表(主表)中,如果A表和B表的通用列,A表中有一个值没有但是B表中有,这时候使用右查询的话,B表中的所有数据会查出来,在A表中没有匹配到的数据就是null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值