七、查询
1、基本查询语句
select 列名字,列名字 from 表名字
例如
select user_a_id from userinfo;

2、在SQL*PLUS中设置格式
(1)设置新的字段名(更改查询结果的字段名)
column column_name heading new_name
例如:
col username heading 用户名;
查看更改
select * from userinfo;
(2)设置结果显示的格式
例如:
设置显示字段长度为10,字符类型的设置
col user_username format a10;
设置数值型字段的长度,用一个'9'表示一个数字位
col user_a_id format 9999.9;
注:格式不对的信息会显示########
col user_a_id format $9999.9;
设置日期格式同字符格式的设置

可以设置:
col user_a_id format 9999.9;
col user_username format a10;
col user_pwd format a10;
col user_email format a10;
col user_regdate format a10;

删除格式:
col user_a_id clear;

3、查询表中的所有字段及指定字段
(1)查询所有字段
a、用'*'代指所有字段
select * from userinfo;
b、写出每个字段的名字
select user_a_id,user_username,user_pwd,user_email,user_regdate from userinfo;
(2)查询指定字段
select user_a_id,user_username from userinfo;

4、给字段设置别名(针对查询结果)
(1)设置别名
注意:as可以省略,用空格隔开原来的字段名和新字段名即可
select user_a_id as 编号,user_username as 用户姓名,user_pwd as 密码,user_email as 邮箱,user_regdate as 日期 from userinfo;
col 编号 format 9999.9;
col 用户姓名 format a10;
col 密码 format a10;
col 邮箱 format a10;
col 日期 format a10;
(2)去重复别名
select distinct user_username as 用户姓名 from userinfo;

5、运算符和表达式
表达式 = 操作数 + 运算符
Oracle中的操作数可以有变量、常量和字段
算数运算符(+,-,*,/)
比较运算符(>,>=,<,<=,=,<>)
逻辑运算符(and,or,not)

6、在SELECT语句中使用运算符
(1)使用算数运算符
create table users(
id number(5,1),
username varchar2(20),
salary number(5,1)
);

insert into users values(1,'aaa',800);
insert into users values(2,'bbb',1800.5);
insert into users values(3,'ccc',5000.5);

(a)给所有员工增加200元薪水
没加薪水前:
select id,username,salary from users;
增加薪水后:
select id,username,salary+200 from users;

(2)使用比较运算符(一般放在where当中)
工资大于800
select username from users where salary>800;

(3)使用逻辑运算符
工资大于800,并不等于1800.5
select username from users where salary>800 and salary<>1800.5;
工资要么大于800,要么不等于1800.5
select username from users where salary>800 or salary<>1800.5;

7、带条件的查询
(1)单一条件的查询
查询员工姓名是'aaa'
select salary from users where username='aaa';
查询id是3的员工薪水
select username,salary from users where id=3;
(2)多条查询
查询员工姓名是'aaa'或者薪水大于2000的员工信息
select * from users where username='aaa' or salary>2000;
查询员工姓名是'aaa'或者薪水在800到2000之间的员工信息
select * from users where username='aaa' or (salary>800 and salary<=2000);
注意:
1、逻辑运算符的优先级:按not、and、or的顺序依次递减
2、比较运算符的优先级高于逻辑运算符
查询员工姓名不是‘aaa’
select * from users where not(username='aaa');

8、模糊查询(类似于搜索引擎的查询)
关键字like
(1)通配符的使用(_,%)(一个下划线代替一个字符,百分号代替零到多个字符)
查询员工姓名是'aaa'
select * from users where username like 'a%';
select * from users where username like 'a__';
查询名字第二个字符是'a'的员工
select * from users where username like '_a_';
select * from users where username like '_a%';
(2)使用LIKE查询
查询用户名中含有'a'的
select * from users where username like '%a%';

9、范围查询
between ... and 是[800,2000]闭合区间
查询800到2000之间的员工工资
select * from users where salary between 800 and 2000;
查询不在800到2000之间的员工工资
select * from users where salary not between 800 and 2000;

in/not in
查询用户姓名是aaa或者bbb的用户信息
select * from users where username in('aaa','bbb');
查询用户姓名不是aaa或者bbb的用户信息
select * from users where username not in('aaa','bbb');

10、对查询结果排序
(1)按照id降序排列
select * from users order by id desc;
(2)按照多个字段排序(第一个orderby位置字段第一个需要相等)
insert into users values(4,'aaa',1000);
select * from users order by username desc,salary asc;

11、case...when语句的使用
(1)在姓名是'aaa'显示'计算机部门','bbb'显示'市场部门',剩下的是'其他部门'
select username,case username when 'aaa' then '计算机部门'
when 'bbb' then '市场部门' else '其他部门' end as 部门
from users;
(2)在姓名是'aaa'显示'计算机部门','bbb'显示'市场部门',剩下的是'其他部门'
select username,case when username='aaa' then '计算机部门'
when username='bbb' then '市场部门' else '其他部门' end as 部门
from users;

(3)显示薪水小于800的为工资低,大于5000的为工资高
select username,case when salary<800 then '工资低'
when salary>5000 then '工资高' end as 工资水平
from users;

12、decode语句使用
对字段中的名字进行一个条件的判断
select username,decode(username,'aaa','计算机部门','bbb','市场部门','其他') as 部门
from users;

总结:
1、用户与表空间
(1)如何查看某个用户的默认表空间和临时表空间
(2)如何管理表空间:创建、修改、删除表空间
2、表与约束
(1)数据类型、字符类型(char(N)、Nchar(n)、varchar2(n)、nvarchar2(n))、数值型:NUMBER(p.s)、float(n)、日期型:DATE、TIMESTAMP、其他类型:BLOB、CLOB
(2)对表中数据的操作
添加数据insert、修改数据update、删除数据delete
(3)非空约束、主键约束、外键约束、唯一约束、检查约束
3、查询语句
(1)查询所有字段和指定字段
(2)为字段设置别名
(3)在查询语句中使用运算符和表达式
(4)在查询语句中加入条件where
(5)范围查询
(6)模糊查询:LIKE关键字,通配符_和%
(7)case ...when语句和decode函数

Oracle学习笔记(五)的更多相关文章

  1. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  2. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  3. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  4. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  5. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  7. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  8. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  9. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

随机推荐

  1. Loararunner录制脚本

    LoadRunner录制 1.启动LoadRunner,用管理员方式打开,选择 “Create/Edit Scripts” 2.从这两个方式任意方式打开脚本页面 3.选择协议,这里我们举例子,用“We ...

  2. tomcat自启动脚本

    1.#cd /etc/rc.d/init.d2.#vi tomcat3.把下面的代码保存为tomcat文件,并让它成为可执行文件 chmod 755 tomcat. #!/bin/sh # # /et ...

  3. bzoj1037生日聚会

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1037 任意区间的话,可以从所有后缀区间考虑. 因为每一个区间一定是某一时刻的一个后缀区间,所 ...

  4. (转)js弹窗&返回值(window.open方式)

    本文转载自:http://hi.baidu.com/z57354658/item/5d5e26b8e9f42fa7ebba93d4 js弹窗&返回值(window.open方式) test.h ...

  5. Train-Alypay-Cloud

    ylbtech-Train-Alypay-Cloud: 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部 ...

  6. 蓝桥杯历届试题-垒色子(DP+矩阵快速幂)

    一.题目 垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体.经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子: ...

  7. three3D地图

    终于闲下来了,前段时间做了个项目,高精度精准定位系统,用到了three3D地图 听起来是不是很炫酷?其实并不难.先把部分代码附上(文件比较多,只粘贴部分的) $(function () {     i ...

  8. AWS安装

    curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" sudo python get-pip. ...

  9. Yii 引入js css jquery 执行操作

    在布局中引用通用到js,或者css: <?php Yii::app()->clientScript->registerCoreScript('jquery');?>  //注意 ...

  10. 迷你MVVM框架 avalonjs 学习教程1、引入avalon

    avalon是国内最强大的MVVM框架,没有之一,虽然淘宝KISSY团队也搞了两个MVVM框架,但都无疾而终.其他的MVVM框架都没几个.也只有外国人与像我这样闲的架构师才有时间钻研这东西.我很早之前 ...