码迷,mamicode.com
首页 > 数据库 > 详细

Oracle学习记录 一 基本指令练习

时间:2015-03-03 12:03:55      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

        使用的是Oracle 11g

之前其实已经弄过几下,不过没有太多学习,现在开始重新好好的学习一下,包括SQL语句等。

先从安装后开始,

我安装了客户端sqldeveloper,但是进入后需要连接,这我都忘了怎么弄了,开始查看资料。

        点了新建连接后,弹出一个对话窗口,连接名我用的是sys,用户名也用的是sys,口令就是在安装数据库

的时候写的密码,然后在下面“角色”这改成了SYSDBA,下面“SID”填写的是orcl

这样就以数据库管理员身份登录了。

        因为我安装完数据库的时候没有解锁其它的用户,就像练习用的scott,这时候可以在这里去解锁了。

在下面找到其他用户,找到scott,右击选择“编辑用户”,把那几个勾去掉,然后设个新密码,这样就OK了,

再去新建个连接,用scott来登录,SID还是orcl这个是在安装的时候确定的应该。

下面开始使用SQL*plus来学习SQL命令:

  1. select * from emp;        别忘了后面的分号,这个就列出了表emp中所有数据

  2. select job from emp;    这是取出表emp中job列所有数据

  3. select distinct job from emp;    这就取出表emp中job列不同的数据,也就是相同的数据只留一个

  4. select * from emp where sal > 2000;    这就是添加了条件,只显示sal大于2000的人员信息

  5. select ename from emp where sal > 2000;    这就是只显示sal大于2000的人名

  6. select ename from emp where sal > 3000 or (sal > 1000 and sal < 2000);    这是多个条件一起

  7. select * from emp where job in ‘CLERK‘;    这是列出job是CLERK的人员信息

  8. select * from emp where job in (‘CLERK‘,‘ANALYST‘);    这是列出job是CLERK和ANALYST的人员信息

  9. select * from emp where hiredate between ‘20-2月-81‘ and ‘03-12月-81‘;    这是列出日期在这个范围的人员

  10. select distinct job from emp where job like ‘%AN%‘;    这是列出job名带AN的job

  11. select sal from emp order by sal asc;    这是从小到大排列sal

  12. select sal, hiredate from emp order by sal asc, hiredate desc;    这是按sal排,如果相同再按hiredate从大到小排

  13. select ename,job,sal from emp where sal > 2000 order by sal asc;    现在加上where条件

下面是函数的练习了:

AVG (平均)
COUNT (计数)
MAX (最大值)
MIN (最小值)
SUM (总合)

14. 现在求所有sal的和

select sum(sal) from emp;

15. 求有多少个人

select count(ename) from emp;

16. 求有多少种job,这就要去掉重复的job项

select count(distinct job) from emp;

17. 多少人有comm奖金

select count(ename) from emp where comm is not null;

18. 按岗位来求sal和

select job,sum(sal) from emp group by job;

19. 给函数设定条件用having,岗位sal和大于5000的岗位

select job,sum(sal) from emp group by job having sum(sal) > 5000;

20. 起别名,先给sum(sal)起名为SUM,别名的本身名中间一个空格

select sum(sal) "SUM" from emp;

21.给表也起个别名

select t.job "JOBS", sum(sal) "SUM" from emp t group by job;

下面是”表格链接“

用emp和dept这两个表来练习,这其实我有点糊涂

22. 显示每个地区的sal和,这显示结果中少了BOSTON是因为在emp中没有40这个deptno,这是内部链接

select t1.loc "LOCALADDR", sum(t2.sal) "SALS" from dept t1, emp t2 where t1.deptno=t2.deptno group by t1.loc;





Oracle学习记录 一 基本指令练习

标签:

原文地址:http://my.oschina.net/bxxfighting/blog/381714

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!