Oracle基础学习之简单查询和限定查询
本文主要介绍的是关于Oracle中的简单查询和限定查询,狼蚁网站SEO优化话不多说,来一起看看吧。
SQL
1,DML(数据操作语言)主要指的是数据库的查询与更新的操作,查询操作是整个sql语法 中最麻烦也是笔试中最常用的部分。
2,DDL(数据定义语言)主要指的是数据对象的创建(表、用户、)例如creat.需要相关的设计范式。
3,DCL(数据控制语言)主要进行权限的操作(需要结合用户来观察),此部分由DBA负责。
简单查询
1,利用select
子句控制要显示的数据列
select empno,ename,ename,job,sal from emp;
2,可以使用distinct
来消除重复的数据行显示
select distinct job from emp;
3,select
子句可以进行四则运算,可以直接输出常量内容,对于字符串使用单引号数字直接编写,日期格式按照字符格式
select empno,ename,(sal15+(200+100)) ine from emp;
4,||负责输出内容连接此类的操作很少直接在查询中出现
select empno||ename from emp;
5,where
子句一般都写在from
子句之后,是紧跟着from
子句之后执行的,where
子句控制显示数据行的操作,而select
控制数据列,select
子句要落后于where
子句执行,所以在select
子句之中定义的别名无法在where
中使用。
限定查询
1,关系运算符
select from emp where sal>1500; select from emp where ename ='SMITH' select empno,ename,job from emp where job<>'SALESMAN';
2,逻辑运算符
select from emp where sal>1500 and sal<3000; select from emp where sal>2000 or job='CLERK'; select from emp where not sal >=2000;
3,范围查询
select from emp where sal between 1500 and 2000; select from emp where hiredate between '01-1月-1981'and'31-12月-1981';
4,空判断(空在数据库上表示不确定,如果在数据列使用null不表示0)
select from emp where m is not null;
5,IN操作符(类似于between and
而in给出的是指定的范围)
select from emp where empno in (7369,7566,7788,9999);
关于not in
与null
的问题
在使用not in
进行范围判断的时候,如果范围有null
,那么不会有任何结果返回。
6,模糊查询
“-”匹配任意一位字符;
“%”匹配任意的0,1,,或者多位字符;
查询姓名是以字母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,sal12 ine from emp order by ine;
语句的执行顺序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 m>sal0.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 m is not null;
7,找出收取佣金或者收取的佣金低于100的员工
select distinct job from emp where m is null or m<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;
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南