oracle9i学习心得之一 基本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; 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luyangever/archive/2008/12/11/3500359.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值