sql总结(DML)

 oracle常用函数

1,字符串函数

    upper(str)   将输入的字符串变为大写返回
    lower(str)   小写
    initcap(str) 首字母大写
    length(str)  字符串长度
    substr(列名,开始点,结束点)  字符串截取
    replace(列名,原始值,替换值) 字符串替换

2,数学函数


    round()    四舍五入
    trunc()    截取小数
    mod()      取模


3,日期函数

    months_between(日期1,日期2)    求出两个日期之间的月数:
    add_months(日期,月数)            求出若干月之后的日期
    last_day(日期)                    求出指定日期的最后一天
    next_day(日期,星期X)            求出下一个指定星期的日期


4, 转换函数

    to_char()         将日期或数字变为字符串显示
    to_date()         将字符串变为日期型数据
    to_number()     将字符串变数字型数据


5, 通用函数

    nvl()         处理null的数据
    decode()     多值处理函数

总数:select count as totalcount from table1

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1


--1.学生表
Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
--2.课程表
Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号
--3.教师表
Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名
--4.成绩表
SC(SID,CID,score) --SID 学生编号,CID 课程编号,score 分


HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集。

查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩。
select a.SID , a.Sname , cast(avg(b.score) as decimal(18,2)) avg_score
from Student a , sc b
where a.SID = b.SID
group by a.SID , a.Sname
having cast(avg(b.score) as decimal(18,2)) < 60

参考:https://blog.csdn.net/zhang945254064/article/details/80305602

原文地址:https://www.cnblogs.com/dingpeng9055/p/10385655.html