(6)Oracle基础--简单查询
.基本查询语句
SELECT [DISTINCT] column_name1,... | *
FROM table_name
[WHERE conditions];
P: DISTINCT关键字的作用是过滤掉重复的记录.
.查询表中所有字段及指定字段
<1> 查询表中所有字段
SELECT * FROM table_name;
<2> 查询指定字段
SELECT column_name1,column_name2... FROM table_name;
.给字段设置别名
<1> 使用空格设置别名
SELECT column_name new_column_name FROM table_name;
<2> 使用 AS 设置别名
SELECT column_name AS new_column_name FROM table_name;
(注意: 给字段设置别名并不能改变字段的名字,只是查询结果的显示名)
.运算符和表达式
表达式 = 运算符 + 操作数
运算符分类:
<1> 算数运算符 +, -, *, /
<2> 比较运算符 >, >=, <, <=, <>
<3> 逻辑运算符 and, or, not
.带条件的查询
SELECT column_name1,column_name2 ... FROM table_name WHERE EXPRESSIONS;
.模糊查询
<1> 通配符的使用(_,%)
① 一个_代表一个字符
② %可以代表0到多个任意字符
<2> 使用语法
SELECT column_name1,column_name2 ... FROM table_name WHERE column_name LIKE 'string';
.范围查询
<1> 使用多个表达式
SELECT column_name1,column_name2 ... FROM table_name
WHERE column_name > value1 AND column_name < value2;
<2> 使用 BETWEEN ... AND
SELECT column_name1,column_name2 ... FROM table_name
WHERE column_name BETWEEN value1 AND value2;
<3> 使用 IN / NOT IN
SELECT column_name1,column_name2 ... FROM table_name
WHERE column_name IN | NOT IN (value1,value2, ...);
<4> 使用 EXISTS / NOT EXISTS
SELECT column_name1,column_name2 ... FROM table_name
WHERE EXISTS | NOT EXISTS (select_expression);
P: IN 与 EXISTS的区别
1. IN 后面的集合包含IN前面的值就返回真, EXISTS 后面的结果集不为空即返回真.
2. IN 引导的字句只能返回一个字段,而 EXISTS 引导的字句可以返回多个
.对查询结果排序
SELECT column_name1,column_name2... FROM table_name
[WHERE conditions] ORDER BY column1 DESC/ASC,column2 DESC/ASC .... ;
P: 1. DESC 表示降序,ASC 表示升序;
2. 对多个字段排序时优先级按先后次序递减.
.CASE ... WHEN语句的使用
作用: 可以根据查询结果中字段的不同的值返回不同的结果
<1> 第一种形式
SELECT CASE column_name WHEN value1 THEN result1 ... [ELSE result] END FROM table_name;
<2> 第二种形式
SELECT CASE WHEN column_name operator value1 THEN result1 ... [ELSE result] END FROM table_name;
P: operator为操作符,如+ - * / > < 等
.decode函数的使用
decode函数与case when的第一种形式比较类似
SELECT DECODE(column_name,value1,result1,...,DEFAULT value) FROM table_name;
P: 不指定默认值的情况下,如果没有匹配的值,则返回NULL.
(6)Oracle基础--简单查询的更多相关文章
- Oracle其他简单查询
范例:查询公司中所有雇员的职位信息 SELECT job FROM emp; 实际在公司里面,一个职位会有多个人员.如果查询全部职位,肯定会存在重复.要消除掉重复,利用DISTINCT完成.(dist ...
- oracle中简单查询语句的格式及执行顺序分析
一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ... [HAVING ...]]--GROUP BY对前面wh ...
- Oracle 数据库 简单查询
select DISTINCT dept_id from s_emp; desc s_emp; ; --给入职3年以上员工发10万元年终奖 ; --列出职位是仓库管理员的名字和工资 select la ...
- Oracle 基础表查询
--查询所有用户表的数据 SELECT * FROM ALL_TABLES WHERE OWNER='USER_NAME' --如果是用该用户登录使用以下语句: SELECT * FROM USER_ ...
- oracle习题-简单查询
题一 1 实现将已知表中的数据插入到另一个表中 学生表:stu1 向表中插入两条数据 学生信息表2:stuinfo 将stu1表中的两条数据导入到stuinfo表中,执行下列语句 此时查看一下st ...
- 学习笔记:oracle学习三:SQL语言基础之检索数据:简单查询、筛选查询
目录 1. 检索数据 1.1 简单查询 1.1.1 检索所有列 1.1.2 检索指定的列 1.1.3 查询日期列 1.1.4 带有表达式的select语句 1.1.5 为列指定别名 1.1.6 显示不 ...
- Oracle笔记(1) 简单查询、限定查询、数据的排序
Oracle笔记(四) 简单查询.限定查询.数据的排序 一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...
- [转载]Oracle数据库基础--SQL查询经典例题
Oracle基础练习题,采用Oracle数据库自带的表,适合初学者,其中包括了一些简单的查询,已经具有Oracle自身特点的单行函数的应用 本文使用的实例表结构与表的数据如下: emp员工表结构如下: ...
- Oracle记录(四) 简单查询、限定查询、数据的排序
一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会) ...
随机推荐
- Luogu 2912 [USACO08OCT]牧场散步Pasture Walking
快乐树剖 #include<cstdio> #include<cstring> #include<algorithm> #define rd read() #def ...
- mstsc本地驱动器
mstsc 可以把本地驱动器 挂载到服务器上
- [BAT]批处理自动修改区域和语言选项
open a cmd window and type reg query "HKCU\Control Panel\International" which will show yo ...
- Jmeter通过BeanShell Sampler获取Jmeter的Bin路径,并存入变量供后面的脚本调用
Jmeter的Bin路径是其运行路径,当把自动化测试的脚本放在Bin目录下时,为了将存储CSV的数据文件以及脚本的路径都设置成相对路径,我们需要获取到Jmeter的运行路径: 通过BeanShell ...
- 01 Maven 安装与配置
Maven 安装与配置 1. Maven 介绍 Maven 翻译为 "专家","内行".Maven 是 Apache 下的一个纯 Java 开发的开源项目,它是 ...
- winsock select 学习代码(2)
之前文章的改进版 服务器仅仅接受客户端发送的字符串并显示 客户端可以调节发送数目 但是不能超过64 // SelectServer.cpp : 定义控制台应用程序的入口点. // #include & ...
- <td> 行高多层设置的问题
在一个table中,设置了class,并且对应的样式设置了td的高度时,在其嵌套的table中的td高度不能设置大于父table的td的高度. 只有一种方法可以设置,如下: <table wid ...
- 使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点
KbmMW 中支持基于UDP的消息广播,也支持TCP/IP hub/spoke 方式,还有 基于UDP或者TCP/IP 的点对点的消息传输. 1.基于UDP的消息广播
- 浮点数转byte数组
; float b=34.56745f; float c=0.0; ,,,}; byte* t=fbs; float2Bytes(t,b); unsigned int addrF=(unsigned ...
- Python网络编程总结
----learn from luffycity---- 1. 什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构就是基于网络实现客户端与服务端通信 ...