首页 > 数据库技术 > 详细

SQL的基本语法练习

时间:2017-07-26 19:18:56      阅读:323      评论:0      收藏:0      [点我收藏+]
select EMPNO,SAL from emp where SAL BETWEEN 1000 and 2000--从enp中获取sal中1000到2000之间的数据
select ENAME,SAL from emp where SAL >= 1000 and SAL <=2000--从enp中获取sal中1000到2000之间的数据
select ENAME,SAL from emp where SAl IN(1000,2300);

select EMPNO from emp ORDER BY EMPNO;--默认排序
select EMPNO from emp ORDER BY EMPNO ASC--升序
select EMPNO from emp ORDER BY EMPNO DESC--降序

select LOWER( ENAME) from emp --大小写的转换

select * from emp;
                                                                                                                                                                                                                                                         

select * from emp;
select trim(ename) from emp--去掉首尾的空格

select * from emp;
select * from emp where ENAME = KING--从中查找某个指定的

select * from emp;
select sal,sal+300 from emp--使用数学运算符“+select sal,sal*10 from emp--使用数学运算符“*select sal,10*sal+300 from emp--运算符的优先级
select sal,10*(sal+300)from emp--带括好的运算

select * from emp;
select sal+20 AS sal_o from emp

select * from emp;
select ENAME || JOB from emp--连接符的运算
------数值函数-----

round--四舍五入
select round(412,-1) from dual--410
select round(412.777,2) from dual--412.78

trunc--截断
select trunc(412.13,-1) from dual--410

MOD --求余
select MOd(200,11) from emp
select Mod(135.23,15) from dual

--日期函数
Months_between()---两个日期相差的月数
select months_between(sysdate,hiredate) from emp
Last_day---本月的最后一天
select last_day(sysdate) from dual
Next_day()--指定日期的下个日期
select next_day(sysdate,星期一) from dual
-------------------------------------------------
select * from emp order by sal  DESC
select sal 
from emp 
order by sal DESC

--------------------------------------------------
Add_months()--向指定日期加上若干月数
select Add_months(sysdate,0) from dual;


-----转换函数----
to_char--对数字的转换
select to_char(sysdate,yyyy) from dual;
select to_char(sysdate,fmyyyy-mm-dd) from dual;
select to_char(sal,L999,999,999) from emp;
select to_char(sysdate,D) from dual--返回星期

To_number--讲字符转换成数字
select to_number(13)+to_number(14) from dual---27

To_date
Select to_date(20090210,yyyyMMdd)from dual

------通用函数--
NVL()函数
select nvl(comm,1) from emp

-----------------------------------------------------------------
--模糊查询like
select * from emp
select * from emp 
where job like %*_%
-----逻辑运算符
--选择在部门30中员工的所有信息
select * from emp 
where deptno=30;
--列出职位为(MANAGER)的员工的编号,姓名
select EMPNO,ENAME from emp 
where job=MANAGER
--找出奖金高于工资的员工
select *from emp 
where comm>sal
--找出每个员工奖金和工资的总和
select comm+sal,ename from emp
--找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)
select * from emp
where (deptno=10 and job=MANAGER)or(deptno=20 and job=CLERK)
--找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工
select *from emp
where deptno=10 and job not in(MANAGER,CLERK) and sal>=2000;
--找出有奖金的员工的不同工作
select distinct job from emp--distinct不同
where comm is not null and comm>0; 
--找出没有奖金或奖金低于500的员工
select *from emp
where comm <500 or comm is null;
--显示雇员信息姓名,根据其服务年限,将最老的雇员排在最前面
select ename from emp
order by hiredate;

 

SQL的基本语法练习

原文:http://www.cnblogs.com/adada/p/7241292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!