a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 182|回复: 2

[综合] Oracle辅导:oracle简单查询、限定查询和排序

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
 1.别号:   oracle别号如不美观别号包含空格、非凡字符(如#、$)、或需区分巨细写(Name)需要用双引号把别号引起来
3 Q# ]. |$ T4 ^8 M- d# _  ^* @" G  select ename "Name",5 _, E& ~* x# ?5 K" b
  sal*12 "Annual Salary": r* D  ~1 ^% W7 o$ S
  from emp;/ {* d% E6 k8 a
  列的别号可用于select和order by子句中,可是不能用在where子句中0 g* c, D( d: O2 Z1 m
  2.毗连操作符"||"
6 H7 G6 E2 N4 f. }  select ename||job as "Employees"
/ ]1 R# a% n6 c  from emp;, i; t0 A8 ]8 S4 P
  3.原义字符串'' 包含在select列表中的一个字符、数字或日期,而不是列名或别号,使用原义字符串可增强输出的可读性: o4 J1 a$ q5 w; d- }: [4 w- Q
  select ename||' is a '||job5 {) Q" b; _5 u: r. f5 k# t4 M
  as "Employees" from emp;  [  P! h2 ^' L" V" Y0 u9 o' s
  4.去除一再行distinct
/ i2 Y: l& y1 Z6 r" P  select distinct deptno
4 ~% ?0 P6 n1 H5 Q! A" i  from emp;$ B# X! o6 s' w, ^5 M) e" H/ E0 y/ i
  5.sql*plus登录) L6 @5 E; V( m: i" G
  sqlplus [username[/password[@database]]]3 L* d% O1 `# e# H" ^9 B
  在sql*plus中编纂sql缓冲区中的sql语句: o! E% T* S4 J+ N9 I' z

' P) {6 R. i! g9 W  SQL>select depno,
回复

使用道具 举报

 楼主| 发表于 2012-8-4 13:54:50 | 显示全部楼层

Oracle辅导:oracle简单查询、限定查询和排序

</p>  2   dname
% V6 G5 l# o* `7 L5 Y  3   from dept;; L' t* m8 D) Q$ G# D( ^
  sql>L 2
7 X+ n# z5 ?( ?6 f4 x  2*dname3 y- y0 f3 n* M
  sql>A,loc
$ u  C! L0 o- Z  H8 L  2*dname,loc
# _; W8 P. _; H8 c  sql>L
) N, E7 _7 h7 }* t+ b8 [9 p1 |  1 select depno,% U2 a8 P! M* G8 X4 B& C. l  R
  2 dname,loc7 D( Z5 D1 N, g& q
  3*from dept
# c5 `$ e5 L2 I+ u/ C* Y  sql>/(执行)
7 s3 H$ Z& o$ M6 a9 v  6.限制发芽和排序' w0 n# \& ~% p4 }
  select empno,ename,job,deptno
; |* O4 O6 d- F' P  from emp
3 v* K. }/ s# ~* R+ F  where deptno=10;
* e0 h* a$ A1 Q3 B1 v! q+ _  oracle供给6种常用的斗劲运算符:=、>、>=、select name,job,deptno# X- l2 {. M0 a% c) ?
  from emp* Q! H# m6 o4 T8 k# Y
  where ename='james';
  @" B# }6 I+ o1 i4 q  所有字符检索都是巨细写敏感的
+ p9 y4 S: q' L! F4 \& z6 A  显示工资在1000和1500美元之间的雇员信息8 X' y. `3 w- ~$ h: p
  >select ename,sal
, e  r+ o* K- I7 J  from emp# M' p& ~6 K! u5 _. M  s
  where sal between 1000 and 1500;
, n; f7 p% v5 J7 O5 x2 D  显示1981年插手公司的雇员相关信息: b. H) G* E3 p2 x, F5 w
  >select ename,sal,hiredate
8 Q8 Z4 d9 ^6 k; |  from emp8 ^8 N/ g+ m: R3 T* p
  where hiredate between '01-JAN-81' and '31-DEC-81';. l: O! N, w/ B0 v$ R2 F; Y
  显示mgr等于7902,7566,7788的雇员信息
7 k1 V2 f+ f& ?# {" p  >select empno,ename,sql,mgr
* e; x+ R* [" Z: n; m. _  z9 {6 l  from emp
$ I7 |& m% n5 x7 f  where mgr in (7902,7566,7788);. i9 g: ^9 d/ n2 k$ ]3 u( a
  显示姓名为FORD,ALLEN雇员的相关信息
. `+ T; d3 {  V7 y( k  >select empno,ename,mgr,deptno% p! o. v0 Y. Y: F6 K
  from emp8 c/ s, x3 R1 Q/ j
  where ename in('FORD','ALLEN');1 b0 q" @. o( V( S% C" ~- U: ~
  like字形匹配操作可以使用通配符"%"(暗示肆意字符)和"_"(暗示一个字符)8 K1 k: Y8 H! o
  >select ename
* P6 J* D8 j' U/ W  from emp7 R3 }5 B, Z( ~0 h* Z
: b& @, i$ ~7 B. H
  where ename like 'S%';
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 13:54:51 | 显示全部楼层

Oracle辅导:oracle简单查询、限定查询和排序

</p>  8.当我们需要对%、_进行查找时,可以使用escape选项,这个选项指定哪个是转义字符。
# \  c; {* @0 @. F" j/ h  escape标识""字符作为转义符
1 X4 q5 M2 x0 {' H  >select ename6 y1 c- y3 a9 P/ @$ J9 W& z+ W
  from emp
7 T2 o% _, e3 T) Y2 j% {5 [+ Q( Q  where ename like '%A_B%'escape'';+ b& P1 i9 D3 K4 S4 N8 }
  在前提中NOT,形成否认前提5 `8 ?, s* e' _9 i6 E4 n, h
  >select ename,job
% b( O  N. c0 ?" P, p3 d  from emp3 H, {/ b9 K; @- o1 @5 a3 l% `% U
  where job not in ('CLERK','MANAGER','ANALYST');
$ v! M( r2 c. ~0 p# x8 n" Y  u( s  ... where sal not between 1000 and 15000
5 v( m/ m: d) A* P; i7 ?* [  ... where ename not like '%A%'$ r0 ~6 E( B% F4 n- G
  ... wher comm is not null# H: \' U9 o4 L% t3 c
  9.运算符优先轨则' j, }: G: p( _9 C  o" [2 \: k
  not and or+ M  z9 S/ d, q8 s; {/ E( x1 m
  >select ename,job,sal  M0 }. }  N( T( i& ?( f* _* t5 V
  from emp
$ j' O* x# D; _" m5 Z* @2 z  where job='SALESMAN'
' o6 C  I( o" j8 p% w, q  or job='PRESIDENT') }2 _. G# Y7 T: x1 Q$ u; T# `
  and sal>1500;
) l1 H% c8 Q& a/ ]% Y  第一个前提是工作为president而且月工资年夜于1500美元8 ]: J4 M( Z7 ]4 K' x4 s; H% }
  第二个前提是工作为salesman$ b; o$ M: d7 H( b; K, b
  是以可以这样理解“如不美观一个雇员是president而且月工资年夜于1500或者这个雇员是salesman,那么他们将被检索出”
, w$ W8 Y7 j# T, \* S  >select ename,job,sal
# p7 v0 K& S# E* p4 W9 Z% t  from emp
2 Z& \$ d: r9 N9 x  where (job='SALESMAN'
0 X9 Q0 ?+ `- t, r, s( S' e  or job='PRESIDENT')4 ]2 }1 S* m; n( e' V* M4 F- d6 x1 \
  and sal>1500;
! f: B3 I( G  b' n, ?% ^5 N+ ^- l  第一个前提是工作为president或saleman+ I- @3 R' u6 S  P
  第二个前提是月工资年夜于15002 L2 t$ b- J0 F
  10.order by子句后可选用关头字asc(升序默认为升序)、desc(降序枚举)
. A4 X7 }! K/ M% {& ^: a  >select ename,job,deptno,hiredate
0 q* Y7 e  _* s$ j  from emp. h" L1 x4 [( ^  A
  order by hiredate;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-21 06:42 , Processed in 0.194867 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表