查询姓名是以字母A开头的雇员信息:
select * from emp where ename like 'A%'
查询姓名第二个字母是A的雇员信息:
select * from emp where ename like '_A%';
查询姓名任意位置是A的雇员信息:
select * from emp where ename like '%A%';
查询排序:
ASC(默认):按照升序排列;
DESC: 按照降序排列;
查询所有的雇员信息,要求按照工资的由高到低:
select * from emp order by sal desc;
查询每个雇员的编号,姓名,年薪,按照年薪由低到高排序:
select empno ,ename,sal*12 income from emp order by income;
语句的执行顺序:from
- where
-select
- order by
基础练习:
1,选择部门30中的所有员工:
select * from emp where deptno=30;
2,列出所有办事员(clerk)的姓名,编号,和部门编号:
select ename,empno,deptno from emp where job='CLERK';
3,找出佣金高于薪金的60%的员工:
select * from emp where comm>sal*0.6 ;
4,找出部门10中所有的经理(manager)和部门20中所有的办事员(clerk):
select * from emp where (deptno=10 and job='MANAGER' )or(deptno=20 and job='CLERK' );
5,找出部门10中所有的经理(manager),部门20中的所有办事员(clerk),以及既不是经理又不是办事员但是工资高于等于2000的所有员工资料:
select * from emp where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job! ='MANAGER'and job!='CLERK' and sal>=2000);
select * from emp where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job not in ('CLERK','MANAGER') and sal>=2000);
6,找出收取佣金的员工的不同工作:
select distinct job from emp where comm is not null;
7,找出收取佣金或者收取的佣金低于100的员工:
select distinct job from emp where comm is null or comm<100;
8,显示不带有“R”的员工姓名:
select * from emp where ename not like '%R%';
9,显示姓名字段含有A的所有员工姓名,显示的结果按照基本的工资由高到低,如果工资相同,则按照雇佣年限由早到晚,如果雇佣日期相同,则按职位排序:
select * from emp where ename like '%A%' order by sal desc,hiredate asc,job;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。