1、SCOTT用户之中的主要数据表
dept、emp、salgrade、bonus。观察四张表结构(语法:DESC 表)。
|·部门表:dept
NO. 字段 类型 描述
1、 DEPTNO NUMBER(2) 部门编号,最多只能由两位数字所组成
2、 DNAME VARCHAR2(14) 部门名称,由14个字节长度所组成
3、 LOC VARCHAR2(13) 部门位置
|·雇员表:emp
NO. 字段 类型 描述
1、 EMPNO NUMBER(4) 雇员编号,最多只能由四位数字所组成
2、 ENAME VARCHAR2(10) 雇员姓名,由14个字节长度所组成
3、 JOB VARCHAR2(9) 职位,多个雇员的职位数据一定会重复
4、 MGR NUMBER(4) 领导编号,领导也一定是公司的雇员
5、 HIREDATE DATE 雇佣日期,DATE包含年、月、日、时、分、秒
6、 SAL NUMBER(7,2) 基本工资,表示由2位小数位和5位整数位组成
7、 COMM NUMBER(7,2) 佣金,销售人员才会存在佣金
8、 DEPTNO NUMBER(2) 雇员所在的部门编号,与dept表对应
|·工资等级表:salgrade
NO. 字段 类型 描述
1、 GRADE NUMBER 等级编号
2、 LOSAL NUMBER 此等级的最低工资
3、 HISAL NUMBER 此等级的最高工资
|·工资表:bonus
NO. 字段 类型 描述
1、 ENAME VARCHAR2(10) 雇员姓名
2、 JOB VARCHAR2(9) 职位
3、 SAL NUMBER 工资
4、 COMM NUMBER 佣金
*注意:oracle中的字符串数据类型是VARCHAR2,四张表中只有bonus表没有数据
2、sql语法
·sql简介
|·DML数据操作语言。 ————指的是实现数据库的查询与跟新操作
|·DDL数据定义语言。 ————定义数据库的对象
|·DCL数据控制语言。 ————控制用户的操作权限
·简单查询
对于查询一共分为:简单查询、限定查询、多表查询、统计查询,四类的查询。
SELECT [DISTINCT] *| 列[别名],··· ——>2、控制要显示的数据列
FROM 表名称[别名]; ——>1、确定查询的数据来源
//"|"表示或、“distinct”表示去掉重复行数据、“*”表示查询所有列、
注意:sql语句执行的先后顺序
*范例:
查询每个雇员的编号(empno)、姓名(ename)、职位(job)、基本工资(sal)
SELECT empno,ename,job,sal FROM emp;
*select子句中可以进行各种数学计算
*范例:
查询每个雇员的编号、姓名、基本年薪
SELECT empno,ename,sal*12 FROM emp;
*范例:
未查询列取别名
SELECT empno 编号,ename 姓名,sal*12 年薪 FROM emp;
*注意:在实际开发中要回避用中文
*范例:
查询每个雇员的编号、姓名、职位、年薪,而且每位雇员每个月有200元的饭食补助、200汽车补助
夏天四个月有300元的高温补贴、年底的时候可以有15个月的基本工资。
SELECT empno,ename,job,(sal+400)*12+300*4+sal*3 income FROM emp;
*范例:
消除重复列,使用DISTINCT关键字,此关键字只能出现在select子句中:
SELECT DISTINCT job FROM emp;
*注意:只有在所有的列都重复的情况下才叫重复,才能剔除重复。
oracle中增加了一个“||”d连接符,可以进行数据的连接
*范例:
SELECT ename || job FROM emp;
* 范例:想有这样的数据显示
编号:7300,姓名:smith,工资:800
在程序中固定的数据都称为字符串,而对于数据库中字符串的表示应该使用单引号“ ‘’ ”;
SELECT ‘编号: ‘ || empno ||‘、 姓名: ‘ || ename info FROM emp;