本次知识点:
1.认识SQL的介绍
2.掌握scott用户的数据结构
3.查询语句之简单查询
1.SQL:
SQL是指结构化查询语言,在80年代的时候,基本存在80多种数据库,每一种数据库都有自己的的操作命令,也就导致了程序员从一个数据库到另一个数据库的转化时变的极为麻烦,基本就要从新学习.
在70年代末又IBM开发出最早的SQL标准,而Oracle数据库时世界上第一个支持SQL语法的是数据库现在发展到今天,几乎所有的数据库都支持SQL语法了(即:如果你本身擅长使用DB2数据库,那么可以很轻松的掌握Oracle)
SQL语法并没有那么复杂,大致使用的关键字有:select ,from , where, group by,having,insert,update,delete,create,drop,alter,revoke等。
2.SQL分类
严格来讲SQL会分为三种类型:
1、数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。
2、数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。
3、数据控制语言(DCL):用来控制数据库组件
2.SCOTT用户表的结构
SCOTT下一共有四张表,我们可以用select * from tab;来查询用户下的表
如果我们想查看表结构的话我们SCOTT用户可以用,DESC 表名称 命令来查看,以DEPT表为实例
以后的学习我们会经常用到SCOTT用户的四张表,再此处打出四张表的表结构和表数据,请牢记,会对后续的学习有所帮助.
部门信息表:dept表结构
部门信息表:dect表数据
员工信息表:emp表结构No.列名称类型描述
1EMPNONUMBER(4)雇员编号,最多只能由四位数字组成
2ENAMEVARCHAR2(10)雇员姓名
3JOBVARCHAR2(9)雇员职位
4MGRNUMBER(4)保存每个雇员领导的编号(领导也是雇员)
5HIREDATEDATE雇佣日期,里边包含有日期和时间
6SALNUMBER(7,2)(注:也就是说最大数位:99999.99)
基本工资,小数点只占2位,整数做多占5位
7COMMNUMBER(7,2)佣金,一般只有销售才会出现佣金
8DEPTNONUMBER(2)部门编号,,指的是每个员工的部门编号
员工信息表:emp表数据
工资登记表:SALGRADE表结构No.列名称类型描述
1GRADENUMBER工资等级编号
2LOSALNUMBER此等级最低工资
3HISALNUMBER此等级最高工资工资登记表:SALGRADE表数据
工资表:bonus表结构,bonus表中没有任何数据No.列名称类型描述
1ENAMEVARCHAR2(10)姓名
2JOBVARCHAR2(9)职位
3SALNUMBER基本工资
4COMMNUMBER佣金
3.SQL查询语句之简单查询(注:以下红字为SQL关键字)
(1):简单查询的基本操作格式;
所谓简单查询指的就是查询一张表中所有数据行得内容.简单查询得基本语句为SELECT 列名称 别名,列名称 ,别名 ...FROM表名称 别名;(以上结构中会先执行FROM关键字确认数据得来源,在执行SELECT删选需要得字段 如果要查询所有是使用*
简单查询之 查询全表全字段数据 SELECT * FROM EMP;
简单查询之 查询出姓名,编号,职位, 所以SQL语句就应该是 SELECT EMPNO, ENAME, JOB FROM EMP;
(2):别名的设置与去重;
在实际场景中我们可能要查询出的字段名称不是自己想要的,这时候就需要用到了别名
例如我们查询出每个员工得姓名+年薪,所以语句是SELECT ENAME, SAL*12 FROM EMP;
但是通过以上我们看到查询出来得年薪字段是SAL*12这并不是我们想要的,所以此时就需要用到了别名.别名放在字段后就可以所以我们可以得到SQL语句为SELECT ENAME, SAL*12 NianXin FROM EMP;
在实际得工作中,我们可能要查询出一些数据并去除掉重复数据,在此处用员工表的职位做演示(SQL:SELECT JOB FROM EMP; )
通过我们上图我们可以看到此处有重复数据,此时可以用DISTINCT关键字来消除,放在SELECT后边,所以得到语句就是SELECT DISTINCTJOB FROM EMP;通过下图我们可以看到重复数据变消失了.(注:去重关键字如果查询多个字段,只有在查询得所有字段都重复了才会去除重复)
(3.):简单查询中的常量与字符串的连接显示.
在使用select语句进行查询得时候,除了查询列我们也可以设置一些常量,这个常量只能看不能动 .
对于常量也有如下三点说明
1.如果常量是字符串,则要求使用"'"声明,例如'hello'
2.如果是数字,则直接编写,例如:10
3.如果常量是日期,则按照日 期风格格式编写,使用"xx日-xx月-xx年",例如'3-5-18'
常量放在SELECT后边以字符串为例,:
常量一般和||一起连接查询我们的查询结果,例如SELECT '雇员'||ename From emp;
再比如我们将雇员的多行列的信息通过||连接成一个字符返回.SELECT '姓名:'|| ENAME ||'职位:' || JOB 信息 FROM emp;(注:简此处的信息为此时查询出信息的别名,一般不推荐别名为中文)
(4):四则运算
在SQL语句中我们也可以用简单的四则运算.比如一个人的年薪为月薪3000*12+每月饭补200+路补助200*12-每月社保500*12,以下SQL语句为SELECT SAL*12+(200+200)*12-500*12 年薪 FROM emp;
注:在SQL语言中也是先乘除后加减