Oracle学习笔记(5)——查询
- 基本查询语句
- SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE conditions]
- 在SQL*PLUS中设置格式
- 更改显示字段名:COLUMN column_name HEADING new_name (注意COLUMN能够简写成COL)
- 比如:
- 更改显示字段名:COLUMN column_name HEADING new_name (注意COLUMN能够简写成COL)
col username heading 用户名;
select * from users;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- 设置显示结果的格式:COLUMN column_name FORMAT dataformat; (注意COLUMN能够简写成COL。字符类型仅仅能设置显示的长度)
- 比如
col username format a10; 注意:字符类型用a代表。a10表示设置字符类型长度为10。数值类型用9表示
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- 清除之前设置过的格式:COLUMN column_name CLEAR;
- 比如:
col username clear;
- 查询表中的全部字段及指定字段
- 查询全部字段:SELECT * FROM table_name;
- 查询指定字段:SELECT column1_name,column2_name... FROM table_name;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- 给字段设置别名(*给字段设置别名是针对查询结果进行的,并没有更改字段的名字)
- SELECT column_name AS new_name,... FROM table_name; 注意:AS能够省略。用空格隔开原来的字段名和新字段名就可以。
- 比如:
- SELECT column_name AS new_name,... FROM table_name; 注意:AS能够省略。用空格隔开原来的字段名和新字段名就可以。
select id as 编号,username as 用户名,salary 工资 from users;
- 运算符和表达式
- 表达式 = 操作数 + 运算符
- Oracle中的操作数能够有变量,常量和字段
- 运算符
- 算数运算符(+,-。*。/)
- 比較运算符(>,>=,<,<=,=,<>)
- 逻辑运算符(and,or,not)。优先级:按not、and、or的顺序依次递减。比較运算符的优先级高于逻辑运算符
- 在SELECT语句中使用运算符(省略)
- 带条件的查询
- 单一条件的查询
- 查询用户名为aaa的员工薪水:select salary from users where username='aaa';
- 多条件的查询
- 查询名字是aaa。或者工资在800到2000之间的员工信息
- 单一条件的查询
select * from users where username='aaa' or (salary > 800 and salary <=2000)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- 模糊查询 LIKE
- 通配符的使用( _ 、%)
- 一个 _ 仅仅能代表一个字符
- %能够代表0到多个随意字符
- 使用LIKE查询
- 例:查询用户名以a开头的用户信息。select * from users where username like 'a%';
- 例:查询用户名的第二个字符是a的用户信息。select * from users where username like '_a%';
- 例:查询用户名中含有a的用户信息。
select * from users where username like '%a%';
- 通配符的使用( _ 、%)
- 范围查询
- BETWEEN ... AND 闭区间。
- 例:查询员工薪水在800和2000之间的全部员工信息:select * from users where salary between 800 and 2000; 注意包括800和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');
- BETWEEN ... AND 闭区间。
- 对查询结果排序
- SELECT ... FROM ... [WHERE ...] ORDER BY column1 DESC/ASC,...;
DESC:降序,ASC:升序- 例:select * from users order by id desc;
- 例:select * from users order by id desc,salary asc;
- SELECT ... FROM ... [WHERE ...] ORDER BY column1 DESC/ASC,...;
- case...when语句的使用
- 作用:就是在我们查询语句其中能够依据我们字段不同的值。还能够显示不同的结果。
- CASE column_name WHEN value1 THEN result1,... [ELSE result] END;
- 样例:依据不同的username来得到他所在的部门
select username,case username when 'aaa' then '计算机部门'
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- CASE WHEN column_name=value1 THEN result1,... [ELSE result] END;
- 样例:
select username,case when username='aaa' then '计算机部门'
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- 样例:
- decode函数的使用
- decode (column_name,value1,result1,...,defaultvalue);
- 样例:
- decode (column_name,value1,result1,...,defaultvalue);
select username,decode(username,'aaa','计算机部门','bbb','市场部门','其它') as 部门 from users;
Oracle学习笔记(5)——查询的更多相关文章
- Oracle 学习笔记 常用查询命令篇
1.查询某个用户下有多少张表 有时候很有用 select count(*) from dba_tables t where t.owner='SCOTT';
- Oracle学习笔记(1)——查询及删除重复数据
1.查找表中多余的重复记录(根据单个字段studentid) select * from table_name where studentid in (select studentid fro ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- Oracle学习笔记——点滴汇总
Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster
- mybatis学习笔记(14)-查询缓存之中的一个级缓存
mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...
- Oracle学习笔记—数据字典和常用命令(转载)
转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...
- Linux学习笔记(七) 查询系统
1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...
随机推荐
- 描述一下JVM加载class文件的原理机制
Java中的所有类,都需要由类加载器装载到JVM中才能运行.类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中.在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的 ...
- Oracle迁移到DB2常用转换
因为项目需要,要将Oracle上的东西转移到DB2,于是收集整理了一些需要修改点的注意事项,拿出来大家分享. ORACLE和DB2实现相同功能的实例(主要以Oracle8I和DB2 7.X为例,已测试 ...
- hdu6191(树上启发式合并)
hdu6191 题意 给你一棵带点权的树,每次查询 \(u\) 和 \(x\) ,求以 \(u\) 为根结点的子树上的结点与 \(x\) 异或后最大的结果. 分析 看到子树,直接上树上启发式合并,看到 ...
- COW
COW 时间限制: 1 Sec 内存限制: 64 MB提交: 41 解决: 18[提交][状态][讨论版] 题目描述 Bessie the cow has stumbled across an i ...
- 杭电oj 1000
今天开始和一个认识的学弟刷题. 学弟是个大牛,我还是个菜鸟.嘿嘿. 杭电第一题我就wrong了好几次. #include <iostream> using namespace std; i ...
- CentOS通过yum安装MariaDB(MySQL)无法启动服务或者找不到mysql.sock
转载自:http://www.linuxidc.com/Linux/2016-03/129396.htm 今天在Linux主机(CentOS 7)安装(yum install方式)Mariadb(即开 ...
- HashCode()的作用
在实现Hash算法的集合里面,例如HashSet,该集合不能存放相同的数据,HashSet会根据对象的equals()和hashCode()方法来判断要存放的数据是否已经存在.Hash算法把HashS ...
- NOIP2010关押罪犯
题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值)来表示 ...
- 【DFS】URAL - 2104 - Game with a Strip
大概就是dfs?当前区间(l,r)的答案可以由(l,m)和(m+1,r)区间推出,如果某个区间已经完全被某种颜色覆盖,那么就返回该颜色.否则按照递归层数判定,奇数层Alice占优势,只需左右区间中一者 ...
- Problem K: 数字菱形
#include<stdio.h> int main() { int n,i,j,k,t,x,q,p; while(scanf("%d",&n)!=EOF) ; ...