oracle9i写语句,Oracle9i学习心得之一 基本SQL语句

Oracle9i学习心得之一 基本SQL语句

本文出处:网游动力作者:本站发布时间:2008-12-22阅读次数:

1.SQL语句包括:

1) 数据查询:select

2) DML(data manipulation language):insert、update、delete、merge

3) DDL(data definition language):create、alter、drop、rename、truncate

4) 事务控制:commit、rollback、savepoint

5) DCL(数据控制语言):grant、revoke

2.基本SELECT语句

SELECT * | {[DISTINCT] column [alias],...}

FROM table;

例:SELECT deptno,loc

FROM dept;

3.显示表的结构

DESC[RIBE] tablename

4.表说明

1)雇员信息表(emp)

名称 是否为空? 类型

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

2)部门表(dept)

名称 是否为空? 类型

DEPTNO NOT NULL NUMBER(2)

DNAME VARCHAR2(14)

LOC VARCHAR2(13)

3) 薪水等级表(salgrade)

名称 是否为空? 类型

GRADE NUMBER

LOSAL NUMBER

HISAL NUMBER

5.SELECT语句练习

例1:

SELECT * FROM dept;

结果:

DEPTNO DNAME LOC

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

...

例2:

SELECT deptno,loc

FROM dept;

结果:

DEPTNO LOC

10 NEW YORK

20 DALLAS

30 CHICAGO

40 BOSTON

...

6.执行SQL语句的工具:

1)SQL*Plus工具

2)iSQL*Plus工具

3)PL/SQL Developer工具

7.算术表达式

使用+,-,*,/可创建一个数据型或日期型数据的表达式

例1:

SELECT ename,sal,sal+300

FROM emp;

结果:

ENAME SAL SAL+300

SMITH 2000 2300

ALLEN 1600 1900

WARD 1250 1550

JONES 2975 3275

...

例2:

SELECT ename,sal,12*sal+100

FROM emp;

结果:

ENAME SAL 12*SAL+100

SMITH 2000 24100

ALLEN 1600 19300

WARD 1250 15100

JONES 2975 35800

...

例3:

SELECT ename,sal,12*(sal+100)

FROM emp;

结果:

ENAME SAL 12*(SAL+100)

SMITH 2000 25200

ALLEN 1600 20400

WARD 1250 16200

JONES 2975 36900

...

8.空值NULL

-不同于零或者空格

-是在一种无效的、未赋值、未知的或不可用的值

例:

SELECT ename,job,sal,comm

FROM emp;

结果:

ENAME JOB SAL COMM

MARTIN SALESMAN 1250 1400

BLAKE MANAGER 2850

CLARK MANAGER 2450

TURNER SALESMAN 1500 0

ADAMS CLERK 1100

...

注:任何包含空值的算术表达式运算后的结果都为空值NULL

例:

SELECT ename,12*sal,12*sal+comm

FROM emp

WHERE ename='BLAKE';

结果:

ENAME 12*SAL 12*SAL+COMM

BLAKE 34200

9.列的别名:

1)紧跟列名或在列名和别名之间加入可选关键字AS

2)如果别名包含空格或特殊关键字符或区分大小写则需要使用双引号

例1:

SELECT ename AS name,sal salary

FROM emp;

结果:

NAME SALARY

SMITH 2000

...

例2:

SELECT ename "Name",sal*12 "Annual Salary"

FROM emp;

结果:

Name Annual Salary

SMITH 24000

ALLEN 19200

10.连接操作符

1)用于列与列、列和字符之间的连接

2)形式上是连个竖杠:||

3)用于创建字符表达式的结果列

例:

SELECT ename||job AS "Employees"

FROM emp;

结果:

Employees

SMITHCLERK

ALLENSALESMAN

WARDSALESMAN

JONESMANAGER

...

4)原义字符串:

-是包含在SELECT列表中的字符、数字或日期

-日期和字符字面值必须

用单引号引起来

-每个字符串都会在每个数据行输出中出现

例:

SELECT ename||' is a '||job AS "Employees"

FROM emp;

结果:

Employees

SMITH is a CLERK

ALLEN is a SALESMAN

WARD is a SALESMAN

JONES is a MANAGER

...

11. 消除重复行

在SELECT子句中使用关键字DISTINCT可消除重复行

例:

SELECT DISTINCT deptno

FROM emp;

练习题

1.显示emp表结构

DESC emp

2.显示emp表中所有列的数据

SELECT * FROM emp;

3.显示emp表雇员编号、雇员名、薪水信息

SEELCT empno,ename,sal

FROM emp;

4.显示emp表中不重复的工作类别

SELECT DISTINCT job

FROM emp;

5.显示emp表中empno、sal*12、job,它们对应的别名为编号、年薪、工作类别

SELECT empno "编号",sal*12 "年薪",job "工作类别"

FROM emp;

6.显示emp表的ename和sal列,要求显示的格式为:XXXX雇员的薪水为XXX。

SELECT ename ||'雇员的薪水为 '||sal

FROM emp;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值