06-09
26
SQL基本语法(select)
作者:Java伴侣 日期:2006-09-26
select ename,job from emp;
select ename,job ABC from emp; //ABC为job的别名
select * from emp;
desc emp; //查看字段属性
介绍字段属性:
number(4) //(推荐),必须整数,范围-9999~9999之间
number //精度高,大概30多位
number(10,2) //8位整数,小数点后2位
varchar2(10) //最大4000
char(10) //最大2000
比较:char类型准确度高,查找速度快. varchar类型是可变字符串,节省空间,查找速度相对慢.
long //65535位
CLOB与BLOB //在8i下最多可存2G,9i下最多可存4G
CLOB,一般用于存取文本.BLOB,一般用于存取二进制数.它们都得用包来读取.
关于date类型的存储,实质可以看作是number类型的存储.以1900-1-1为列.如加上10000天12时1分1秒,可以看作是:
+10000+12/24+12/24/60+12/24/60/60
date精度只能到秒.
desc emp; 等效于 describe emp;
select distinct job from emp; //distinct不重复查找
save aaa.sql //保存上条语句
默认为C盘根目录下.因为在CMD操作时在此位置.如需改变则save dD:/aaa.sql;;
start aaa.sql; @aaa.sql; get aaa.sql
三个指令都是对aaa做相关操作.get aaa.sql;调用windows里面缺省的编辑器读取里面内容显示.
edit; 等效于 ed; //编辑上一条语句
select empno||' '||ename from emp; //并接empno,空格,和ename成一个字段.
spool工具:
spool abc.txt //创建文件
spool ename,empno from emp; //创建语句
spool off //语句和结果存入abc.txt
另外spool AB,CD,DE,是存成Excel格式.
select ename,empno,sal from emp where sal>1500 //根据需要查找,也可是符号<,<=,>=
where sal between 1000 and 2000; //[1000,2000]
where sal notbetween 1000 and 2000; // 负无穷,1000)(2000,正无穷
where deptno in(10,20,30,40....);
where deptno notin(10,20,30,40....);
where comm is null; //当comm是null
where deptno in(10) or sal>2000 and deptno in(20);可以看作where deptno in(10) or (sal>2000 and deptno in(20)); //由此可见and级别更高
where comm>sal*1.1; //此外符号有+,-,%
where comm mod(sal,10); //取余
where sal>1000 order by sal (asc); //按sal字段排正序
where sal>1000 order by sal (dsc); //按sal字段排倒序
PS:如果值相同则按表原序来排.
where sal>1000 order by sal,job; //按照sal和job两个字段来排.
select ename,job ABC from emp; //ABC为job的别名
select * from emp;
desc emp; //查看字段属性
介绍字段属性:
number(4) //(推荐),必须整数,范围-9999~9999之间
number //精度高,大概30多位
number(10,2) //8位整数,小数点后2位
varchar2(10) //最大4000
char(10) //最大2000
比较:char类型准确度高,查找速度快. varchar类型是可变字符串,节省空间,查找速度相对慢.
long //65535位
CLOB与BLOB //在8i下最多可存2G,9i下最多可存4G
CLOB,一般用于存取文本.BLOB,一般用于存取二进制数.它们都得用包来读取.
关于date类型的存储,实质可以看作是number类型的存储.以1900-1-1为列.如加上10000天12时1分1秒,可以看作是:
+10000+12/24+12/24/60+12/24/60/60
date精度只能到秒.
desc emp; 等效于 describe emp;
select distinct job from emp; //distinct不重复查找
save aaa.sql //保存上条语句
默认为C盘根目录下.因为在CMD操作时在此位置.如需改变则save dD:/aaa.sql;;
start aaa.sql; @aaa.sql; get aaa.sql
三个指令都是对aaa做相关操作.get aaa.sql;调用windows里面缺省的编辑器读取里面内容显示.
edit; 等效于 ed; //编辑上一条语句
select empno||' '||ename from emp; //并接empno,空格,和ename成一个字段.
spool工具:
spool abc.txt //创建文件
spool ename,empno from emp; //创建语句
spool off //语句和结果存入abc.txt
另外spool AB,CD,DE,是存成Excel格式.
select ename,empno,sal from emp where sal>1500 //根据需要查找,也可是符号<,<=,>=
where sal between 1000 and 2000; //[1000,2000]
where sal notbetween 1000 and 2000; // 负无穷,1000)(2000,正无穷
where deptno in(10,20,30,40....);
where deptno notin(10,20,30,40....);
where comm is null; //当comm是null
where deptno in(10) or sal>2000 and deptno in(20);可以看作where deptno in(10) or (sal>2000 and deptno in(20)); //由此可见and级别更高
where comm>sal*1.1; //此外符号有+,-,%
where comm mod(sal,10); //取余
where sal>1000 order by sal (asc); //按sal字段排正序
where sal>1000 order by sal (dsc); //按sal字段排倒序
PS:如果值相同则按表原序来排.
where sal>1000 order by sal,job; //按照sal和job两个字段来排.
评论: 0 | 引用: 0 | 查看次数: 1018
发表评论