第二章简单查询课堂笔记和练习(基于用户scott的表数据,往后操作皆是基于此用户的表数据)
2018-07-30 19:07
274 查看
select语句的基本语法
SELECT [DISTINCT]{*|column|expression [alias],...}(表示所需检索的数据列) FROM table;(表示检索的数据来自哪个表)
- 个人喜欢用小写写关键字,标准的还是用大写的,建议大家不要像我一样
– 选择列
就像一个班里有很多学生,学生有自己的组,而列名就相当于学生的组名
-- 1.选择所有列 -- (1)用*号选择所有列(效率较低) select * emp; -- (2)用所有列名选择所有列(效率较高) -- 2.选择指定列 select empno, ename, job, sal, deptno from emp;
– 算术运算符( + - * / )
就是我们常用的加(+)减(-)乘(*)除(/)
-- 1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。 select sal * (1 + 0.2) as "转正后月薪" from emp; -- 2.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的年薪所得 -> (不考虑奖金部分,年薪的试用期6个月的月薪+转正后6个月的月薪) select ename, sal * 6 as "试用期总工资", (sal * 1.2) * 6 as "转正后总工资", --nvl(comm, 0) as "奖金", sal * 6 * (1 + 1.2) as "第一年年薪" from emp;
– 空值(NULL)
注意空值不是0,空值是null,在后面我们将学到判断一个值为空时 值 is null ,而不是 值 = null
-- 注意:null不是0,不是空格' ',它与任何值计算都返回null -- 使用nvl(不为空返回参数1, 为空取参数2)函数 -- nvl(comm, 0) as "奖金"
– 列别名
特别注意要用双引号的三种情况
-- as可以省略 select ename 名字 from emp;--格式:列名 别名 select ename "名字" from emp;--格式:列名 "别名" select ename as 名字 from emp;--格式:列名 as 别名 select ename as "名字" from emp;--格式:列名 as "别名" -- 使用双引号""的三张情况 select ename as "e name" from emp; -- 有空格 select ename as "Ename" from emp; -- 区分大小写 select ename as "e_name" from emp; -- 包含特殊字符
– 连接操作符
使用 || 连接字符串时应注意字符串要加单引号
select ENAME || '的第一年总收入为' || (SAL * 6 + SAL * (1 + 0.2) + nvl(COMM, 0)) from EMP;
– 原义字符串
原义字符串即为上方所说的加单引号情况字符的术语
-- 使用''单引号引起来 select ENAME || '的第一年总收入为' || (SAL * 6 + SAL * (1 + 0.2) + nvl(COMM, 0)) from EMP;
– 消除重复行 distinct
注意:默认输出的话是直接将所有结果输出,也就是说包括重复的数据名
-- 消除deptno里的重复行 select distinct deptno from emp; -- 消除job,deptno 都重复的数据 select distinct job, deptno from emp;
增补知识:
– 查看表结构 desc
-- 注:要在 command window 命令窗口输入 desc emp;阅读更多
相关文章推荐
- 数据挖掘笔记-基于用户协同过滤推荐的简单实现
- 第十一章数据操作与事务控制课堂笔记和练习
- Oracle: 四、对scott用户的基本查询操作(上篇)
- JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询
- 【学习笔记】读项亮的《推荐系统实践》_第二章利用用户行为数据_上
- Oracle笔记(四) 简单查询、限定查询、数据的排序
- 《JavaWeb---简单应用---练习JDBC,JSTL》---上传Excel文件,利用工具包解析,将数据储存到数据库中,可以查询删除
- 脚本小工具 - 基于Txt的简单数据表查询
- WEB简单数据操作练习
- Scott Mitchell 的ASP.NET 2.0数据教程之二十三:基于用户对修改数据进行限制
- 机器学习&数据挖掘笔记_17(PGM练习一:贝叶斯网络基本操作)
- 防止未登录用户操作―基于struts2拦截器的简单实现
- 基于boost和otlv4连接oracle进行简单查询笔记
- Scott Mitchell 的ASP.NET 2.0数据教程之四十三::基于用户对修改数据进行限制
- Oracle笔记(四) 简单查询、限定查询、数据的排序
- Scott Mitchell 的ASP.NET 2.0数据教程之四十三::基于用户对修改数据进行限制
- Oracle笔记_基于样例表的更多查询练习之ROWNUM
- Oracle笔记(四) 简单查询、限定查询、数据的排序
- 第二章 sql语言基础 查询与操作数据
- 机器学习&数据挖掘笔记_19(PGM练习三:马尔科夫网络在OCR上的简单应用)