一步步学习Oracle
来源:互联网 发布:js过渡效果 编辑:程序博客网 时间:2024/05/18 17:57
1、 ORACLE GROUP BY
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。
语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
例子1:查找每个客户的总金额
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer;
例子2:GROUP BY 一个以上的列
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders
GROUP BY Customer,OrderDate
2、ORACLE HAVING
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
语法:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
例子1:查找订单总金额少于 2000 的客户
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000;
例子2:查找客户 "Bush" 或 "Adams" 拥有超过 1500 的订单总金额
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500;
3、ORACLE ALTER TABLE
create table T_CLASS_INFO(
CLASSNO number(3) primary key, --班级序号
CLASSNAME varchar2(10),
CLASSPLACE varchar2(13)
);
create table T_STUDENT_INFO(
STUNO number(3),--学号
CLASSNO number(3),
STUNAME varchar2(10),
STUSEX char(1),
STUCONTECT number(11), --联系方式
STUADD varchar2(50),
STUDETAILINFO varchar2(100)
);
--修改列名
ALTER table T_CLASS_INFO RENAME column CLASSPLACE to LOCATION;
--添加主键约束
ALTER table T_STUDENT_INFO ADD constraint PK_STU_NO primary key(STUNO);
--添加外键约束
ALTER table T_STUDENT_INFO ADD constraint FK_CLASSNO foreign key(CLASSNO) references T_CLASS_INFO(CLASSNO);
--添加check约束
ALTER table T_STUDENT_INFO ADD constraint CK_STU_INFO check (STUSEX in ('F','M'));
--添加not null约束
ALTER table T_STUDENT_INFO MODIFY STUCONTECT constraint NOT_NULL_INFO not null;
--添加unique约束
ALTER table T_STUDENT_INFO ADD constraint UQ_STU_CONTECT unique(STUCONTECT);
--添加default约束
ALTER table T_STUDENT_INFO MODIFY STUSEX char(2) default'M';
--增加列
ALTER table T_STUDENT_INFO ADD STUID varchar2(18);
ALTER table T_STUDENT_INFO ADD STUAGE DATE default sysdate not null;
--删除列
ALTER table T_STUDENT_INFO DROP column STUDETAILINFO;
--修改列的长度
ALTER table T_CLASS_INFO MODIFY CLASSPLACE varchar2(50);
--修改列的精度
ALTER table T_STUDENT_INFO MODIFY STUNO number(2);
--修改列的数据类型
ALTER table T_STUDENT_INFO MODIFY STUSEX char(2);
--修改列的默认值
ALTER table T_STUDENT_INFO MODIFY STUAGE default sysdate+1;
--禁用约束
ALTER table T_STUDENT_INFO disable FK_CLASSNO;
--启用约束
ALTER table T_STUDENT_INFO enable FK_CLASSNO;
--删除约束
ALTER table T_STUDENT_INFO DROP FK_CLASSNO;
--延迟约束
ALTER table T_STUDENT_INFO ADD constraint FK_CLASSNO foreign key(CLASSNO)
references T_CLASS_INFO(CLASSNO)
deferrable initially deferred;
--向表中添加注释
comment on table T_STUDENT_INFO is '学生表';
--向列添加注释
comment on column T_STUDENT_INFO.STUNAME is '学生姓名';
comment on column T_CLASS_INFO.CLASSNAME is '班级';
--清除表中所有数据
truncate table T_STUDENT_INFO;
--删除表
DROP table T_STUDENT_INFO;
- 一步步学习Oracle
- 阅读Oracle官方文档一步步学习Oracle知识的正确顺序
- 一步步学习linux
- 一步步学习线性表
- 一步步学习python
- 一步步学习SPD2010--词汇表
- 一步步学习stm32...
- 一步步学习SSH框架
- 一步步学习电子维修
- 一步步学习编写程序
- 一步步学习企业管理
- 一步步学习单片机开发
- 一步步学习PCB设计
- 一步步学习项目管理
- 网络编程:一步步学习select()
- 一步步学习ERP系统使用
- 一步步学习改变思维习惯
- freeRTOS 一步步学习(一)
- <志良电子>关于C语言中用Keil软件制作Lib库文件的几点经验
- CodeForces 489C Given Length and Sum of Digits...
- Qt添加状态栏
- 黑马程序员------用代码创建按钮
- JBPM中任务分配的几种方式
- 一步步学习Oracle
- JavaScript跨域总结与解决办法
- 哈哈~2014年5月以后就没有转过或者写过文章了,发生了什么^_^
- 我已不是当年的我——2015年终总结
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- 1017_A除以B (20)
- Boy or Girl paradox
- javascript同源策略
- C语言及程序设计提高例程-9 函数的嵌套调用