这个冰清的学习天地,以后我会把自己觉得重要的学习资料和大家一起分享。

oracle笔记之简单查询、限定查询和排序

上一篇 / 下一篇  2010-01-12 14:44:39 / 个人分类:数据库知识

1.别名:

  oracle别名如果别名包含空格、特殊字符(如#、$)、或需区分大小写(Name)需要用双引号把别名引起来

  select ename "Name",

  sal*12 "Annual Salary"

  from emp;

  列的别名可用于select和order by子句中,但是不能用在where子句中

  2.连接操作符"||"

  select ename||job as "Employees"

  from emp;

  3.原义字符串'' 包含在select列表中的一个字符、数字或日期,而不是列名或别名,使用原义字符串可增强输出的可读性

  select ename||' is a '||job

  as "Employees" from emp;

  4.去除重复行distinct

  select distinct deptno

  from emp;

  5.sql*plus登录

  sqlplus [username[/password[@database]]]

  在sql*plus中编辑sql缓冲区中的sql语句

  SQL>select depno,

  2   dname

  3   from dept;

  sql>L 2

  2*dname

  sql>A,loc

  2*dname,loc

  sql>L

  1 select depno,

  2 dname,loc

  3*from dept

  sql>/(执行)

  6.限定查询和排序

  select empno,ename,job,deptno

  from emp

  where deptno=10;

  oracle提供6种常用的比较运算符:=、>、>=、<、<=、<>或!=(不等于)

  除了6种常用的外还提供4种比较运算符:between...and...(包含)、IN(和多个值中的任何一个匹配)、like、(字形匹配)、

  is null(是空值)

  7.在where子句中的字符串和日期数值必须用单引号引起来,oracle 以内部数值形式存储日期,能表现出世纪、年、月、日、小时、分、秒,默认的日期形式是DD-MON-YY

  sql>select ename,job,deptno

  from emp

  where ename='JAMES';

  sql>select name,job,deptno

  from emp

  where ename='james';

  所有字符检索都是大小写敏感的

  显示工资在1000和1500美元之间的雇员信息

  >select ename,sal

  from emp

  where sal between 1000 and 1500;

  显示1981年加入公司的雇员相关信息

  >select ename,sal,hiredate

  from emp

  where hiredate between '01-JAN-81' and '31-DEC-81';

  显示mgr等于7902,7566,7788的雇员信息

  >select empno,ename,sql,mgr

  from emp

  where mgr in (7902,7566,7788);

  显示姓名为FORD,ALLEN雇员的相关信息

  >select empno,ename,mgr,deptno

  from emp

  where ename in('FORD','ALLEN');

  like字形匹配操作可以使用通配符"%"(表示任意字符)和"_"(表示一个字符)

  >select ename

  from emp

  where ename like 'S%';

8.当我们需要对%、_进行查找时,可以使用escape选项,这个选项指定哪个是转义字符。

  escape标识"\"字符作为转义符

  >select ename

  from emp

  where ename like '%A\_B%'escape'\';

  在条件中NOT,形成否定条件

  >select ename,job

  from emp

  where job not in ('CLERK','MANAGER','ANALYST');

  ... where sal not between 1000 and 15000

  ... where ename not like '%A%'

  ... wher comm is not null

  9.运算符优先规则

  not and or

  >select ename,job,sal

  from emp

  where job='SALESMAN'

  or job='PRESIDENT'

  and sal>1500;

  第一个条件是工作为president并且月工资大于1500美元

  第二个条件是工作为salesman

  因此可以这样理解“如果一个雇员是president并且月工资大于1500或者这个雇员是salesman,那么他们将被检索出”

  >select ename,job,sal

  from emp

  where (job='SALESMAN'

  or job='PRESIDENT')

  and sal>1500;

  第一个条件是工作为president或saleman

  第二个条件是月工资大于1500

  10.order by子句后可选用关键字asc(升序默认为升序)、desc(降序排列)

  >select ename,job,deptno,hiredate

  from emp

  order by hiredate;

 


TAG:

 

评分:0

我来说两句

Open Toolbar