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

oracle
第一章
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>/(执行)

第二章
1.限定查询和排序
select empno,ename,job,deptno
from emp
where deptno=10;
oracle提供6种常用的比较运算符:=、>、>=、<、<=、<>或!=(不等于)
除了6种常用的外还提供4种比较运算符:between...and...(包含)、IN(和多个值中的任何一个匹配)、like、(字形匹配)、
is null(是空值)
2.在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%';
3.当我们需要对%、_进行查找时,可以使用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
4.运算符优先规则
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
5.order by子句后可选用关键字asc(升序默认为升序)、desc(降序排列)
>select ename,job,deptno,hiredate
from emp
order by hiredate;
 

你可能感兴趣的:(oracle,职场,笔记,休闲)