SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
2017-09-12 19:03
1141 查看
SQL组成
DML数据操作语言
DCL数据控制语言
DQL数据查询语言
DDL数据定义语言
查询基础语法
记录筛选 where 子句
记录筛选 where 子句 实例练习
实例练习
Select语句中的列表达式
实例练习
Oracle常用函数
Oracle常用函数
Oracle常用数字函数
数字函数 实例练习题
Oracle常用日期函数
日期函数 实例练习题
Oracle常用转换函数
转换函数 实例练习题
Oracle练习题
INSERT、UPDATE、DELETE等。
GRANT、REMOKE等。
SELECT等。
CREATE TABLE、DROP TABLE等。
关系运算 >、<、=、!、<>、>=、<=
逻辑运算 not 、 and 、 or
IS NULL(是否为空)
BETWEEN (在某两个值之间)
IN(一系列值中)
LIKE(相似值的比较)
EXITS(是否存在符合条件的数据)
UNIQUE(是否唯一)
ALL/ANY(一组数据的所有/其中的任何一个)
[b]记录筛选 where 子句 实例练习[/b]
模糊查询中:
% 代表任意0至多个字符
_ 代表任意一个字符
– 开始:case 结束:end 当…条件:when 就then 否则else
– 字符串拼接
select ename,’基本工资:’||sal from emp
– 字段别名
select ename name,’基本工资:’||sal s from emp
Oracle中函数划分为单行函数和多行函数。
单行函数作用于数据库表的某一行并返回一个值。
字符函数 数字函数 日期函数 转换函数 其他函数
多行函数基于数据库表多行进行运算,返回一个值。
[b]数字函数 实例练习题[/b]
[b]日期函数 实例练习题[/b]
[b]转换函数 实例练习题[/b]
DML数据操作语言
DCL数据控制语言
DQL数据查询语言
DDL数据定义语言
查询基础语法
记录筛选 where 子句
记录筛选 where 子句 实例练习
实例练习
Select语句中的列表达式
实例练习
Oracle常用函数
Oracle常用函数
Oracle常用数字函数
数字函数 实例练习题
Oracle常用日期函数
日期函数 实例练习题
Oracle常用转换函数
转换函数 实例练习题
Oracle练习题
SQL组成:
DML(数据操作语言)
插入、删除和修改数据库中的数据INSERT、UPDATE、DELETE等。
DCL(数据控制语言)
用来控制存取许可、存取权限等。GRANT、REMOKE等。
DQL(数据查询语言)
用来查询数据库中的数据。SELECT等。
DDL(数据定义语言)
用来建立数据库、数据库对象和定义表的列。CREATE TABLE、DROP TABLE等。
查询基础语法
语法:SELECT <列名> FROM <表名> [WHERE <查询条件表达式>] [ORDER BY <排序的列名>[ASC或DESC]] ----默认为ASC
记录筛选 where 子句
where子句:关系运算 >、<、=、!、<>、>=、<=
逻辑运算 not 、 and 、 or
IS NULL(是否为空)
BETWEEN (在某两个值之间)
IN(一系列值中)
LIKE(相似值的比较)
EXITS(是否存在符合条件的数据)
UNIQUE(是否唯一)
ALL/ANY(一组数据的所有/其中的任何一个)
[b]记录筛选 where 子句 实例练习[/b]
--查询里面不是CLERK的人员信息 select * from emp where job<>'CLERK'; --查询所有的销售人员或者办事人员 select * from emp where job='SALESMAN'or job='CLERK'; --查询所有的销售人员或者办事人员并且工资大于1250 select * from emp where (job='SALESMAN'or job='CLERK') and sal>1250; --查询奖金为空的所有人信息 select * from emp where comm is NUll or comm=0; --查询所有办事人员,销售人员,管理者 select * from emp where job in('CLERK','SALESMAN','MANAGER'); --查询姓名之中 姓名以M开头的所有人 -- % 匹配符 ,匹配0个或多个任意字符 select * from emp where ename like 'M%'; --查询姓名以S结尾的 select * from emp where ename like '%S'; --查询姓名之中包含A的 select * from emp where ename like '%A%'; -- EXISTS 是否存在满足条件的语句 -- 查询 select * from emp WHERE EXISTS (select * from emp where sal>4000);
模糊查询中:
% 代表任意0至多个字符
_ 代表任意一个字符
实例练习
该实例是在表scott中操作。实例练习:
--查询里面不是CLERK的人员信息 select * from emp where job<>'CLERK'; --查询所有的销售人员或者办事人员 select * from emp where job='SALESMAN'or job='CLERK'; --查询所有的销售人员或者办事人员并且工资大于1250 select * from emp where (job='SALESMAN'or job='CLERK') and sal>1250; --查询奖金为空的所有人信息 select * from emp where comm is NUll or comm=0; --查询所有办事人员,销售人员,管理者 select * from emp where job in('CLERK','SALESMAN','MANAGER'); --查询姓名之中 姓名以M开头的所有人 -- % 匹配符 ,匹配0个或多个任意字符 select * from emp where ename like 'M%'; --查询姓名以S结尾的 select * from emp where ename like '%S'; --查询姓名之中包含A的 select * from emp where ename like '%A%'; -- EXISTS 是否存在满足条件的语句 -- 查询 select * from emp WHERE EXISTS (select * from emp where sal>4000);
Select语句中的列表达式
– 列表达式– 开始:case 结束:end 当…条件:when 就then 否则else
– 字符串拼接
select ename,’基本工资:’||sal from emp
– 字段别名
select ename name,’基本工资:’||sal s from emp
实例练习:
select sal,sal+comm from emp -- 显示员工各项工资明细和各项工资总和 select '基本工资:'||sal sal,',奖金:'||comm comm, case when comm is null then sal when comm=0 then sal else sal+comm end total from emp -- 列表达式 -- 开始:case 结束:end 当...条件:when 就then 否则else -- 显示员工各项工资之和大于2000的雇员信息 select * from emp where case when comm is null then sal else sal+comm end >2000
Oracle常用函数
使用函数可以大大提高SELECT语句操作数据库的能力。Oracle中函数划分为单行函数和多行函数。
单行函数作用于数据库表的某一行并返回一个值。
字符函数 数字函数 日期函数 转换函数 其他函数
多行函数基于数据库表多行进行运算,返回一个值。
Oracle常用函数:
Oracle常用数字函数
[b]数字函数 实例练习题[/b]
-- 数字函数 --ROUND 四舍五入的操作 select round(3.1415926,2) from dual --TRUNC 舍弃指定位置的内容 select trunc(3.6415926,3) from dual select trunc(255,-2) from dual --MOD 取模,取余数 select mod(10,3) from dual
Oracle常用日期函数
[b]日期函数 实例练习题[/b]
-- 日期函数 --获取当前日期 sysdate 当前系统时间 select ename,sysdate from emp --得到3天以后的时间 select sysdate+3 from dual --获取日期的最后一天 , 获取当月最后一天 select last_day(sysdate) from dual select last_day(hiredate) from emp select * from emp where last_day(hiredate)='31-12月 80' -- 下个星期几的日期 next_day select next_day(sysdate,'星期一') from dual --求出若各个月以后的日期 add_months --加减月份 select add_months(sysdate,3) from dual --months_between 获取两个日期间的间隔月份 select trunc(months_between('1-2月 17', sysdate)) from dual
Oracle常用转换函数
[b]转换函数 实例练习题[/b]
-- ORACLE 数据库中的三种数据:NUMBER,CHAR,DATE --转换函数 --TO_CHAR 将日期或者是数字变为字符串显示 select sysdate||'' from dual select to_char(sysdate,'yyyy-mm-dd') from dual select to_char(123456789,'999,999,999,999') from dual --TO_DATE 将字符串变为DATE数据显示 select to_char(to_date('1999-1-1 20:20:20','yyyy-mm-dd hh24:mi:ss'),'yy-mm-dd hh24:mi:ss') from dual --TO_NUMBER 将字符串变为数字显示 select to_number('123')+123 from dual select '123'+'123' from dual
Oracle练习题
--找出佣金高于薪金的60%的员工。 select * from emp where sal>(sal+comm)*0.6 --找出各月倒数第3天受雇的所有员工。 select ename,last_day(hiredate)-3 from emp --找出早于12年前受雇的员工。 select ename,add_months(sysdate,-12*12) from emp --显示正好为5个字符的员工的姓名。 select ename from emp where ename like'_____' select ename from emp where length(ename)=5 -- 显示满10年服务年限的员工的姓名和受雇日期。 select ename,hiredate from emp where months_between(sysdate,hiredate)/12 >10 ; --显示在一个月为30天的情况所有员工的日薪金,忽略余数。 select last_day(sysdate) from emp select sal/30 sal from emp where last_day(hiredate) select trunc(sal/30) sal from emp where to_char(last_day(hiredate),'dd')=30 --显示所有员工姓名、加入公司的年份和月份,按受雇日期所有月排序,若月份相同则将最早年份的员工排在最前面。 select ename,to_char(hiredate,'yyyy-mm')from emp order by to_char(hiredate,'mm') ASC ,to_char(hiredate,'mm') DESC --找出在(任何年份的)2月受聘的所有员工。 select ename, hiredate from emp where to_number(to_char(hiredate,'mm'))=2 --对于每个员工,显示其加入公司的天数。 select trunc(to_number(sysdate-hiredate)) from emp --以年月日的方式显示所有员工的服务年限。 select hiredate,trunc((sysdate-hiredate)/365) 年, trunc(mod((sysdate-hiredate),365)/30) 月, trunc( mod (mod((sysdate-hiredate),365),30) ) 日 from emp;
相关文章推荐
- mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】
- Hive常用的基础sql语法--聚合函数,分组函数的使用和多表查询
- mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
- Hadoop Hive基础SQL语法(DQL 操作:数据查询SQL)
- mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】
- ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- [导入]ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- [导入]ORACLE 常用的SQL语法和数据对象
- ORACLE常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象
- ORACLE 常用的SQL语法和数据对象 选择自 i_like_database 的 Blog
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示