SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
来源:互联网 发布:不要root的录像软件 编辑:程序博客网 时间:2024/05/18 00:42
- SQL组成
- DML数据操作语言
- DCL数据控制语言
- DQL数据查询语言
- DDL数据定义语言
- 查询基础语法
- 记录筛选 where 子句
- 记录筛选 where 子句 实例练习
- 实例练习
- Select语句中的列表达式
- 实例练习
- Oracle常用函数
- Oracle常用函数
- Oracle常用数字函数
- 数字函数 实例练习题
- Oracle常用日期函数
- 日期函数 实例练习题
- Oracle常用转换函数
- 转换函数 实例练习题
- Oracle练习题
- SQL组成
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(一组数据的所有/其中的任何一个)
记录筛选 where 子句 实例练习
--查询里面不是CLERK的人员信息select * from emp where job<>'CLERK';--查询所有的销售人员或者办事人员select * from emp where job='SALESMAN'or job='CLERK';--查询所有的销售人员或者办事人员并且工资大于1250select * 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';--查询所有的销售人员或者办事人员并且工资大于1250select * 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+commend totalfrom emp-- 列表达式-- 开始:case 结束:end 当...条件:when 就then 否则else-- 显示员工各项工资之和大于2000的雇员信息select * from emp wherecase when comm is null then sal else sal+commend >2000
Oracle常用函数
使用函数可以大大提高SELECT语句操作数据库的能力。
Oracle中函数划分为单行函数和多行函数。
单行函数作用于数据库表的某一行并返回一个值。
字符函数 数字函数 日期函数 转换函数 其他函数
多行函数基于数据库表多行进行运算,返回一个值。
Oracle常用函数:
Oracle常用数字函数
数字函数 实例练习题
-- 数字函数--ROUND 四舍五入的操作select round(3.1415926,2) from dual--TRUNC 舍弃指定位置的内容select trunc(3.6415926,3) from dualselect trunc(255,-2) from dual--MOD 取模,取余数select mod(10,3) from dual
Oracle常用日期函数
日期函数 实例练习题
-- 日期函数--获取当前日期 sysdate 当前系统时间select ename,sysdate from emp--得到3天以后的时间select sysdate+3 from dual--获取日期的最后一天 , 获取当月最后一天select last_day(sysdate) from dualselect last_day(hiredate) from empselect * from emp where last_day(hiredate)='31-12月 80'-- 下个星期几的日期 next_dayselect 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常用转换函数
转换函数 实例练习题
-- ORACLE 数据库中的三种数据:NUMBER,CHAR,DATE--转换函数--TO_CHAR 将日期或者是数字变为字符串显示select sysdate||'' from dualselect to_char(sysdate,'yyyy-mm-dd') from dualselect 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 dualselect '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 empselect 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;
阅读全文
0 0
- SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
- Hadoop Hive基础SQL语法(DQL 操作:数据查询SQL)
- oracle常用数据函数sql
- Oracle---常用SQL语法和数据对象
- 【聚焦oracle】SQL基础语法和函数
- Oracle sql常用语法
- Oracle sql常用语法
- oracle sql 常用语法
- Oracle常用sql语法
- SQL高级查询等语法
- SQL语句使用01----where常用等
- SQL常用语法函数
- Oracle SQL数据操作和查询(一)
- Oracle:重复数据SQL查询+操作
- mongodb 查询操作,条件查询,where,find等常用操作
- MySQL:常用操作符、管理命令、基本SQL语法等
- oracle 常用SQL查询
- 常用Oracle查询SQL
- 双十一 唯品会内部优惠入口
- org.springframework.dao.CannotAcquireLockException
- iTerm2连接远程主机
- IntelliJ IDEA环境下 POI读写Exel文件
- S2-052(CVE-2017-9805)
- SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
- 解决使用Vue.js显示数据的时,页面闪现原始代码
- Tablayout和Viewpager,listview
- 应用密码学(学习整理、一)
- matlab存放自己写的函数,可以供其它函数调用
- 欢迎使用CSDN-markdown编辑器
- LTE中RB、RE、CP、REG、CCE、子载波等基础概念
- SDS 与 C 字符串的区别
- 526. Beautiful Arrangement 回溯法