第三章:Oracle的基本查询

目录

一、Oracle的基本查询语句

二、Oracle查询语句中算术运算符的使用

三、查询语句中列的别名、连接符、字符串

四、基本查询--过滤数据(比较运算)

五、基本查询--过滤数据(范围模糊查询等) 

六、基本查询--过滤数据(逻辑运算)

七、基本查询--排序数据

八、Oracle中SQL语句与SQLPLUS命令的区别


一、Oracle的基本查询语句

日期列:是指数据类型为日期类型的列,如date类型。日期列的默认显示格式为“DD-MON-RR”。RR代表年,而且只取年份的后两位数字。

日期格式中的RR与YY的区别:

--去除重复行
--select distinct deptno, job from emp;

select * from emp;

--设置简体中文的日期格式
alter session set nls_language = 'SIMPLIFIED CHINESE';
select empno,ename,hiredate from emp;

--设置美国英语的日期格式
alter session set nls_language = 'AMERICAN';
select empno,ename,hiredate from emp;

--设置特定格式
alter session set nls_date_format='YYYY/MM/DD';
select empno,ename,hiredate from emp;

二、Oracle查询语句中算术运算符的使用

在算数运算符中的空值null:

  • null表示未知值,它既不是空格也不是0。
  • 当算术表达式包含null时,其显示结果也为空(null)。

空值与默认值:

  • 空值:当插入数据时,如果没有为特定列提供数据,并且该列没有默认值,那么其结果为null。
  • 默认值:在创建表时可以使用default关键字为列设置默认值,在表中插入数据时,如果没有为该列提供数据,那么该列将使用默认值。
--select * from emp;
-- 算术运算符的演示
--select empno,ename,sal,sal*12 from emp;
--
--select empno, ename, sal*12+sal/2 from emp;
--
--select empno, ename, 200+sal*12  from emp;
--
--select empno, ename, (sal+100)*12  from emp;
--
--select empno, ename, sal, comm, sal+comm from emp;

--默认值的演示
--create table student(
--    sid number(8,0) primary key,
--    name varchar2(10),
--    sex char(2) default '男',
--    age number(2,0) default 20,
--    address varchar2(50)
--);


--insert into student(sid,name) values (20010001,'张三');
select * from student;

insert into student values(20010002,'王五',default,21,'北京市昌平区');
commit;

三、查询语句中列的别名、连接符、字符串

--列的别名
select empno "雇员编号", ename "雇员名", sal*12 "年收入" from emp;

select empno "雇员编号", ename "雇员名", sal*12  年收入 from emp;

select empno "雇员编号", ename "雇员名", sal*12 as 年收入 from emp;

--连接符
select  ename||'的月工资是:'||sal||'岗位是:'||job as 雇员职位信息 from emp;

select ename||5 from emp;

四、基本查询--过滤数据(比较运算)

--数字值的情况
select * from emp where deptno=20;

--字符值
select * from emp where job='MANAGER';

--日期值
select * from emp where hiredate = '02-4月-81';

--比较运算
select * from emp where sal = 3000;

select * from emp where sal >= 3000;

select * from emp where sal < 3000;

select * from emp where sal <> 3000;
select * from emp where sal != 3000;

select * from emp where sal>1000 and sal<3000;


select * from emp where sal<1000 or sal>3000;

五、基本查询--过滤数据(范围模糊查询等) 

--范围查询between..and
select empno, ename, sal from emp where sal between 1500 and 3000;

--in
select empno,ename, job from emp where job in ('SALESMAN','MANAGER','CLERK');

--模糊查询like
select * from emp where ename like 'J%';
select * from emp where ename like '_AR%';

select * from emp;

select * from emp where ename like 'G\_%' escape '\';

--is null
select empno, ename, sal, comm from emp where comm is not null;

六、基本查询--过滤数据(逻辑运算)

--and
select empno, ename, job, deptno from emp where job='MANAGER' and deptno=10;

--or
select empno, ename, job, sal from emp where job='MANAGER' or sal>2000;

--not
select empno, ename,job from emp where job not in ('CLERK','SALESMAN','MANAGER');

--混合
select empno,ename, job, sal from emp where (sal>2000 or deptno=30) and job not in ('PRESIDENT','MANAGER');

七、基本查询--排序数据

--单列排序
select ename, comm from emp order by comm asc;

--使用列的别名排序
select  empno, ename, sal*12 年收入 from emp order by 年收入 desc;

--多列排序
select empno,ename, deptno, sal from emp order by deptno asc, sal desc;

八、Oracle中SQL语句与SQLPLUS命令的区别

SQL:是关系数据库的基本操作语言,它是应用程序与数据库进行交互操作的接口,从而使得应用开发人员、数据库管理员、最终用户都可以通过SQL语言对数据库进行操作。

SQLPlus:是Oracle公司所提供的工具程序,是与Oracle数据库进行交互的客户端工具,借助SQLPlus工具可以查看、修改数据库记录。在SQLPlus中,可以运行SQLPlus命令与SQL语句。

Oracle的服务问题:

如果Oracle的客户端与服务器都在一个电脑上,用SQLPlus工具,通过如下代码连接数据库的时候可以只启动一个服务。

  • 连接数据库的命令:conn sys/口令 as sysdba
  • 启动的服务:OracleServiceORCL

Oracle的客户端与服务器段不在同一个电脑上,或即使在同一个电脑上,但是出现了下面的情况,都需要启动监听器服务。

  • 连接数据库的命令:conn sys/口令 @orcl as sysdba
  • 通过图形化客户端工具连接数据库服务器时,如:SQL Developer,PLSQL Developer工具。
  • 登录基于web的企业管理器EM时。
  • 总之:涉及到网络监听的地方是必须启动监听器服务的。
  • 此时启动的最基本的服务有两个:OracleOraDb11g_home1TNSListener和OracleServiceORCL。
发布了13 篇原创文章 · 获赞 15 · 访问量 2157

猜你喜欢

转载自blog.csdn.net/weixin_44337241/article/details/104607051