上节回顾:
1、select 基本语法
select * (字段名,字段名...) from 表名;
2、字符串的拼接
|| ' ' || name name
3、非空函数NVL()
NVL(可能会有空值的字段名,值)
4、去除重复行
distinct
5、起别名
空格 + 字段
Oracle Day2
Order By 子句
Order By + 字段名,字段名,....
Order By + list列表值,list列表值,....
ASC 升序默认
DESC 降序
请用两种方式:
查询员工表中所有员工名字及员工工资并按从小到大的顺序排列
select first_name , salary from s_emp order by salary;
select first_name , salary from s_emp order by 2;
查询员工表中所有员工名字及员工工资并按从大到小的顺序排列
select first_name , salary from s_emp order by salary desc;
select first_name , salary from s_emp order by 2 desc;
查询员工表中所有员工名字及员工工资并按名字从大到小的顺序排列
select first_name , salary from s_emp order by first_name desc;
select first_name , salary from s_emp order by 1 desc;
查询员工表中所有员工名字及员工工资并按工资从小到大,名字从大到小的顺序排列
select first_name , salary from s_emp order by salary ,first_name desc;
select salary , first_name from s_emp order by 1,2 desc;
where 子句
比较运算符
= > >= < <=
不等于 != <> ^=
查询员工表中编号为41的员工(标题为Stock Clerk)
select * from s_emp where id =41;
select * from s_emp where id >41;
select * from s_emp where id <41;
select * from s_emp where id >=41;
select * from s_emp where id <=41;
select * from s_emp where id !=41;
select * from s_emp where id <>41;
select * from s_emp where id ^=41;
select * from s_emp where title = 'Stock Clerk';
SQL 运算符
BETWEEN ... AND... 查询*到*之间的记录
查询员工表中编号在12到24之间的记录
select * from s_emp where id between 12 and 24;
select * from s_emp where MANAGER_ID between 3 and 8;
IN(list) 查询指定个数的记录
查询员表中编号为1,3,8的记录
select * from s_emp where id in(1,3,8);
模糊查询
LIKE
通配符:% _
查询员工表中姓名包含a字母的员工信息
select * from s_emp where first_name like '%a%';
查询员工表中姓名第二个字母包含a字母的员工信息
select * from s_emp where first_name like '_a%';
IS NULL 是否为空值
查询员工表中提成为空的所有员工信息
select * from s_emp where commission_pct is null;
NOT BETWEEN
查询员工表中编号不在12到24之间的记录
select * from s_emp where id not between 12 and 24;
NOT IN
查询员表中编号不为1,3,8的记录
select * from s_emp where id not in(1,3,8);
NOT LIKE
查询员工表中姓名不包含a字母的员工信息
select * from s_emp where first_name not like '%a%';
IS NOT NULL
查询员工表中提成不为空的所有员工信息
select * from s_emp where commission_pct is not null;
逻辑运算符
AND
查询员工表中id为11并且工资为1400的记录
select * from s_emp where id =11 and salary =1400;
只要有一个条件不符合,查询不成功
OR
查询员工表中id为11或者工资为1400的记录
select * from s_emp where id =11 or salary =1400;
只要有一个条件符合,查询成功
NOT
查询员工表中id不为11的记录
select * from s_emp where not id =11;
逻辑运算符多个混合使用
SELECT* FROM s_emp WHEREsalary >= 1000 ANDdept_id = 44 ORdept_id = 42 ;
SELECT* FROM s_emp WHEREsalary >= 1000 AND(dept_id = 44 ORdept_id = 42);
函数之间的转换
经常用到的一些单函数大致可分为几下几类
跟字符串相关
跟数字相关
跟日期相关
内置函数
组函数
dual 哑表 ====> 专门用来做测试
LOWER转换为小写
select lower('ORACLE') from dual;
UPPER转换为大写
select upper('oracle') from dual;
INITCAP转换为首字母大写
select initcap('my oracle') from dual;
CONCAT字符串连接 ||
查询员工表中员工的姓名(用两种方式实现)
select first_name || last_name "姓名" from s_emp;
select CONCAT(first_name,last_name) from s_emp;
SUBSTR(原字符串,起始值,返回子串的长度)返回子串
"my oracle" "oracl"
select SUBSTR('my oracle',4,5) from dual;
LENGTH(字符串)返回长度
查询员工表中所有姓名的长度
select first_name , length(first_name) from s_emp;
ROUND四舍五入
select round(45.923, 2) from dual;
TRUNC截取
select trunc(45.923, 2) from dual;
日期函数
查看系统日期
select sysdate from dual;
查询当前时间五天后的日期
select sysdate+5 from dual;
MONTHS_BETWEEN 两个日期中做计算
select months_between(sysdate,sysdate+30) from dual;
ADD_MONTHS当前时间增加(按月增加)
select add_months(sysdate,1) from dual;
NEXT_DAY当前时间的下一个时间
select next_day(sysdate,'星期四') from dual;
LAST_DAY本月的最后一天
select last_day(sysdate) from dual;
嵌套
select last_day(add_months(sysdate+1,1)) from dual;
TO_CHAR 转换为字符串
select to_char(1234) from dual;
转换为固定格式
select to_char(123456,'fm$999,999,999') from dual;
TO_NUMBER 转换为数字
select to_number(1234) from dual;
TO_DATE 转换为日期
04-3月 -90
select to_date(04-3月 -90) from dual;
日期表现形式:
yyyy 2008 四位年
year 英文表示
mm 2位月份
month 英文表示
dy 缩写
day英文表示
dd06 数字表示
mi分钟 30
ss秒 两位数字表示
hh小时 两位小时
rr 年 (新类型)
yy年 (世纪年)
分享到:
相关推荐
Oracle数据库是世界上最流行的数据库管理系统之一,对于数据存储和管理有着广泛的应用。在Oracle中,查询语句是数据操作的核心,本篇文章将详细讲解Oracle查询语句的一些关键知识点。 首先,Oracle是大小写敏感的,...
首先,数据库对象是Oracle数据库的基本组成部分。表是最基本的数据存储单元,由行和列构成,用于存储用户数据。视图是从一个或多个表中抽取的逻辑数据集合,提供了一种查看和操作数据的不同方式。序列是系统自动生成...
在Oracle 11g数据库中,PL/SQL是一种强大的编程语言,用于创建和管理数据库对象以及处理复杂的数据库操作。本教程主要围绕实验5中的几个关键知识点展开,包括条件语句(IF...ELSIF...END IF)、分支语句(CASE)、...
### Oracle数据库实验操作知识点 #### 第一部分:SQL基础 ##### 基本查询语句 - **实验1:** 编写一个简单的SQL查询语句,用于查询表中的所有行和所有列。例如: ```sql SELECT * FROM 表名; ``` - **实验2:**...
本文将基于“Oracle数据库基本操作详解”这一主题,深入探讨Oracle数据库中的关键操作,包括约束操作、字段操作、表操作、存储过程、数据库链接以及Oracle服务器的常用命令行工具,旨在为数据库管理员及开发者提供...
2. **大小写敏感性**:Oracle数据库是区分大小写的,所以在匹配字段值时,需要确保大小写一致,或者使用`UPPER()`或`LOWER()`函数转换大小写。 3. **比较运算符**:在查询中,`>`、`、`>=`、`等比较运算符用于比较...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语句来处理数据。本文将深入探讨Oracle数据库中的数学函数、字符函数、日期和时间函数以及转换函数等关键知识点。 首先,让我们来看看数学函数...
根据提供的文件信息,我们可以归纳出一系列重要的...这些知识点覆盖了SQL的基础概念、查询语句、函数使用、多表查询、数据操纵、数据库设计、约束管理、事务控制等多个方面,对于学习和掌握Oracle SQL具有重要意义。
根据提供的标题、描述、标签及部分内容,我们可以了解到本篇文章主要关注的是如何在Oracle数据库中查询一个月内的数据。这里的关键在于日期范围的确定以及如何利用Oracle的内置函数来完成这一任务。接下来,我们将...
根据提供的文件信息,我们可以归纳出以下关于Oracle数据库的基础知识点: ### Oracle数据库基础 #### SQL语言基础 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。它被广泛应用于各种...
Oracle SQL 是一种强大的数据库查询语言,它用于管理和处理Oracle数据库中的数据。以下是对提供的练习题的详细解释: 1. 查询部门编号为30的所有员工信息: ```sql SELECT ename, job, mgr, hiredate, sal, comm,...
在IT领域,尤其是在数据库管理与优化中,存储过程的解锁是一项关键技能,尤其对于Oracle数据库而言。当存储过程被锁定时,可能会影响系统的性能和稳定性,因此掌握如何解锁存储过程至关重要。以下是对“oracle存储...
Oracle数据库是世界上最广泛使用的数据库系统之一,它提供了丰富的功能用于数据管理、查询和分析。以下是一些基于提供的练习题中的Oracle数据库基本操作知识点: 1. **SQL查询基础**:SQL(结构化查询语言)是用于...
Oracle数据库中的SCOTT模式是一个经典的示例数据库,用于学习和练习SQL操作。在这个模式下,有两个主要的表:EMP和DEPT,它们包含了员工和部门的相关信息。以下是一些基于这些表的练习题及其解题思路: 1. 查询20号...
本资料包主要涵盖了Oracle中的函数大全、存储过程的语法以及Oracle分区的相关知识,这些都是数据库管理员和开发人员日常工作中不可或缺的部分。下面将对这些主题进行深入的探讨。 **一、Oracle函数大全** Oracle...
Oracle SQL是用于管理和操作Oracle数据库的强大工具,这些练习题涵盖了SQL查询的基础到进阶技巧。以下是对这些题目涉及的知识点的详细解释: 1. **子查询**:在第一题中,我们看到一个简单的子查询,用于选取部门...
这些SQL语句适用于Oracle数据库环境,通过灵活运用`TRUNC`、`LAST_DAY`、`ADD_MONTHS`等函数,可以轻松实现对指定时间范围内的数据查询。此外,还可以通过简单的调整使查询结果更加符合实际业务需求。
Oracle SQL是用于管理和操作Oracle数据库的强大工具...以上就是Oracle SQL语句练习中的关键知识点,涵盖了基本查询、连接、条件判断、聚合、日期和字符串处理等多个方面,对学习和提升Oracle数据库查询技能非常有帮助。
在Day 2的笔记中,强调了Oracle SQL语句的规范格式,如分行和缩进,以及结果集的对齐方式。`DUAL`表是一个特殊表,可以用于测试和执行单行操作。笔记展示了如何进行简单的数学运算,处理空值(NULL),以及使用别名...
以上内容概述了Oracle学习文档的主要知识点,包括Oracle教育项目的背景、数据库基础知识、SQL语言的基本操作以及Oracle数据库的安装配置等内容。通过这些知识点的学习,可以帮助初学者快速掌握Oracle的核心技术和...