Oracle-SQL简单查询语句处理概念以及习题
来源:互联网 发布:手机文档翻译软件 编辑:程序博客网 时间:2024/06/10 22:47
Oracle-SQL简单查询语句处理笔记一
数据处理及进展 –数据:是指所有能输入到计算机中并被计算机程序处理 的符号的总称。
数据处理:是指对各种形式的数据进行收集、储存、加 工和传播的一系列活动的综合。
其目的是从大量的、原 始的数据中抽取、推导出对人们有价值的信息。
数据处理的3个阶段:
• 人工管理阶段
• 文件系统阶段
• 数据库系统阶段
关系型数据库
• 数据模型 –是数据库系统中,用于抽象 、表示、处理现实世界中数据的一种形式架构。
• 数据模型三层次
概念模型:是现实世界到信息世界的第一层抽象,常用E-R 图表示。
逻辑模型:是用户从数据库所看到的模型,是具体的DBMS 所支持的数据模型,常用的包括层次模型、网状模型、关 系模型。
物理模型:是面向计算机物理表示的模型,描述了数据在 储存介质上的组织结构,它不但与具体的DBMS有关,而且 V1.0 还与操作系统和硬件有关
关系型数据库
• 关系模型
关系模型有关系数据结构、关系操作集合和关系完整性约束三部分组成的。
关系数据结构:在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。
在用户看来,关系就是一张由行和列组成的二维数据表。
关系操作:包括:选择、投影、连接、增加、删除、修 改等。
关系完整性约束:包括实体完整性、参照完整性和用户 定义的完整性。
算术运算符 •
算术运算符优先级
乘除优先于加减
相同优先权的表达式按照从左至右的顺序依次计算
括弧可以提高优先权,并使表达式的描述更为清晰
空值NULL
• 空值NULL – 空值是指一种无效的、未赋值、未知的或不可用的值。
空值不同于零或者空格。
列别名
好处:方便查看
用来重新命名列的显示标题,如果SELECT语句中包含计算列,通常使用列别名来重 新定义列标题。
• 使用列别名的方法
方式1:列名列别名
方式2:列名 AS列别名
• 以下三种情况列别名两侧需要添加双引号
列别名中包含有空格
列别名中要求区分大小写
列别名中包含有特殊字符
连接操作符使用 || 去连接,相当于java中的 + 号呢。
消除重复行使用DISTINCT 关键字
习题整理一:简单的查询语句(查询oracle已经创建的表格,使用用户scott普通用户登陆)
说明:
Oracle常用的测试表:(可以通过自己创建测试表测试,最好不改变自带的oracle表哈)
Emp 员工表 (员工编号empno,员工名字ename,工资sal,职位job,部门编号deptno,奖金comm)
Dept 部门表(部门编号deptno,部门名称dname,地址loc)
BONUS 奖金表(同上)
练习1
笔记:在关于oracle的性能问题中,使用指定的列查询(如第2题)比使用select* (如第1题)会效率高很多,虽然结果一样,但是执行起来更加优化,这与关乎到有没有命中索引的问题。
• 1.使用两种方式查询所有员工(EMP)信息
select * from emp;
• 2.查询(EMP)员工编号、员工姓名、员工职位、 员工月薪、工作部门编号。
selectempno,ename,job,sal,deptno from emp;
练习2
笔记:在oracle中,sqlplus以及在sql developer中,可以使用
/*注释文字*/ 或者 --注释文字 来注释文字,在编写程序的习惯中,好的习惯是对自己的程序编写好注释,这样方便其他人查看自己的代码。
• 1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。
select empno,ename,job,sal*(1+0.2),deptno from emp;
• 2.员工试用期6个月,转正后月薪上调 转正后月薪上调20%,请查 询出所有员工工作第一年的年薪所得(不考虑奖 金部分,年薪的试用期6个月的月薪+转正后6个月的月薪)
select empno,ename,job,6*sal+6*sal*(1+0.2),deptnofrom emp;
练习3
错误笔记:在起别名的时候,注意,别名如果是中文,需要写上双引号,单引号是报错的。
• 1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖 金部分),要求显示列标题为员工姓名,工资收入,奖金收入,总收入。
select ename "员工姓名",sal "工资收入",comm "奖金收入" ,6*sal+6*sal*(1+0.2)+12*comm "总收入" from emp;
练习3
• 1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),
要求显示列标题为员工姓名,工资收入,奖金收入,总收入。
select ename "员工姓名",sal "工资收入",comm "奖金收入" ,6*sal+6*sal*(1+0.2)+12*comm "总收入"
from emp;
练习4
• 1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖
金部分),要求显示格式为:XXX的第一年总收入为XXX。
--笔记:需要使用连接符号 ||,同时,在连接符号中,需要单引号连接
Select ename || '的第一年总收入为' || (6*sal+6*sal*(1+0.2)+12*comm) from emp;
• 2.查询员工表中一共有哪几种岗位类型。
--笔记:需要去掉重复的job。distinct写在字段前边
select distinctjob from emp;
练习5
在SQL*Plus中,可以使用DESCRIBE 命令来查看表结构
--使用desc table查看表结构
desc emp;
课后作业
• 1.分别选择员工表、部门表、薪资等级表中的所有数据。
select * fromemp;
select * fromdept;
select * frombonus;
• 2.分别查看员工表、部门表、薪资等级表的表结 薪资等级表的表结构。
desc emp; --查看員工表
desc dept;--查看部门表
desc bonus;--查看薪资
- Oracle-SQL简单查询语句处理概念以及习题
- oracle学习---简单的sql语句查询
- Oracle查询简单数据字典SQL语句
- sql语句实现简单查询以及索引查询
- SQL语句中的单引号处理以及模糊查询
- SQL语句中的单引号处理以及模糊查询
- Oracle简单查询语句
- Oracle简单查询语句
- Oracle简单查询语句
- Oracle数据库查询语句以及简单函数(含例子)
- Oracle简单查询,常用函数(SQL语句集)
- oracle 简单sql语句
- oracle / sql 简单语句
- Oracle基本的数据类型以及简单sql查询
- SQL 查询语句的处理
- SQL 语句类型以及处理
- 简单的oracle查询语句
- Oracle SQL语句查询例子
- DOM解析XML文档步骤
- 通过浏览器加载的方式使用strapdown.js来渲染markdown
- windows7 64位机上安装配置CUDA7.5(或8.0)+cudnn5.0操作步骤
- 网络编程(2)——客户端和服务端的访问
- 基于ArcGIS Engine+C#开发问题(2)
- Oracle-SQL简单查询语句处理概念以及习题
- 软件推荐-- 网页雪碧图制作神器!!!
- leetcode题解-141. Linked List Cycle
- 神经网络浅讲
- 视图package explorer和navigator切换可以出现class文件夹
- 简易的Toast封装(Swift版本)
- css命中与jquery命中
- 数据库SQLite<一>
- Qt之多线程简单学习