易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

oracle 笔记 IX 之内联、左联、右联

介绍一下内联、左联、右联
一.先看一些最简单的例子
例子
Table A
aid adate
1 a1
2 a2
3 a3
TableB
bid bdate
1 b1
2 b2
4 b4
两个表a,b相连接,要取出id相同的字段
select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.
此时的取出的是:
1 a1 b1
2 a2 b2
那么left join 指:
select * from a left join b on a.aid = b.bid
首先取出a表中所有数据,然后再加上与a,b匹配的的数据
此时的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同样的也有right join
指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据
此时的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
LEFT JOIN 或 LEFT OUTER JOIN。
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选
择列表列均为空值
二. left join/right join/inner join操作演示
表A记录如下:
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408 ......

oracle 视频笔记1(select)

下面是用scott用户测试的。
如果不知道当前用户是什么用户,可以输入: show user ,这样它就显示出当前用户是什么用户了.
如果想编辑已经输入到sqlplus中的代码,可以输入“ed”,然后回车就能弹出一个记事本,记事本里面有上一步输入的代码,修改代码并保存后关闭记事本,最后在sqlplus中输入“/”并击回车就执行了。
1.不等于号是:<>
如:select ename, sal from emp where deptno <> 10;
2.SQL中的字符串大小写不一样
如:select ename ,sal from emp where ename = 'CLASD';
与 select ename ,sal from emp where ename = 'clasd';
是不一样的.
3.between 与 >=和<=
如: select ename, sal from emp where sal between 800 and 1500; 的意思与
select ename, sal from emp where sal >= 800 and sal <= 1500; 一样
4.把空值选出来
如: select ename, sal, comm from emp where comm is null;
5.把非空值选出来
如: select ename, sal, comm from emp where comm is not null;
6.in的用法
如:select ename, sal, comm from emp where sal in (800, 1500, 2000); 意思是把sal等于800 或者1500或者2000的 ename、sa ......

oracle 视频笔记2(CreateNewUser)

 1.备份scott
(1)在C盘的根目录下创建一个文件夹temp
(2)在cmd在进入文件夹,del *.* ,删除所有文件。
(3)输入exp
(4)输入用户名和密码:scott/tiger
(5)就会显示“输入数组提取缓冲区大小”,在这一步直接回车就行了
(6)显示“导出文件:DXPDAT.DMP>”,这一步也是回车
(7)选择导出用户(就是导出用户的所有数据)还是导出表,默认就是导出用户,所以直接回车
(8)接下来就一直回车到结束
2.创建新的用户
(1)在sqlplus在中登录scott用户
(2)输入create user kevin identified by liuchao default tablespace users quota 10M on users;,表示创建用户kevin,
密码kevin,空间为10M
(3)如果显示“权限不足”,则授权:输入“conn sys/520419 as sysdba;”回车,再输入“grant create user to scott;”回车;
输入“conn scott/tiger”回车,再重复第(2)步。
(4)授权grant create session, create table, create view to kevin ......

oracle 视频笔记3(insert、update、delete)

一,INSERT
1.为了不打乱原来的表的数据,所以备份原来的数据.
create table emp2 as select * from emp
create table emp3 as select * from emp
create table dept2 as select * from dept
create table salgrade2 as select * from salgrade
2.查看表的设计情况:desc dept2;表示查看表dept2的设计情况.
3.插入数据的个数与表的数据的个数一样.
如:insert into dept2 values (50, 'game', 'bj')
4.插入数据的个数与表的数据的个数不一样.
如:insert into dept2 (deptno, dname) values (60, 'game2')
5.整个表的插入。
如:insert into dept2 select * from dept2; ,表示pept2表中的数据重复插入了一遍。
4.如果输入“rollback;”,则上面插入的数据就会回滚。
二,UPDATE
如:update emp2 set sal=sal*2, ename=ename||'-' where deptno = 10;
表示把表emp2中的deptno = 10的sal乘以2,在ename的后面加上"-"
三,DELETE
如:delete from emp2; ,表示把emp2这个表整个删除
delete from dept2 where deptno <25; , 表示把表dept2 中的deptno小于25的数据删除. ......

ORACLE ROLLUP和CUBE的使用

ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。
CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。
在文章的最后附上了相关表和记录创建的脚本。
1、向ROLLUP传递一列
SQL> select division_id,sum(salary)
  2  from employees2
  3  group by rollup(division_id)
  4  order by division_id;
DIV SUM(SALARY)
--- -----------
BUS     1610000
OPE     1320000
SAL     4936000
SUP     1015000
        8881000
SQL>
再来看一下如果使用普通的GROUP BY,而没有ROLLUP是个什么情况
SQL> select division_id,sum(salary)
  2  from employees2
  3  group by division_id
  4  order by division_id;
DIV SUM(SALARY)
--- -----------
BUS     1610000
OPE     1320000
SAL     4936000
SUP ......

110个oracle常用函数总结

 1. ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH C
-- -
赵 A
3. CONCAT
连接两个字符串;
SQL> select concat(010-,88888888)||转23 高乾竞电话 from dual;
高乾竞电话
----------------
010-88888888转23
4. INITCAP
返回字符串并将字符串的第一个字母变为大写;
SQL> select initcap(smith) upp from dual;
UPP
-----
Smith
5.INSTR(C1,C2,I,J)
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
SQL> select instr(oracle traning,ra,1,2) instring from dual;
INSTRING
---------
9
6.LENGTH
返回字符串的长度;
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;
NAME LENGTH(NAME ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [5347] [5348] [5349] [5350] 5351 [5352] [5353] [5354] [5355] [5356]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号