Oracle查询入门(一)数据库概述和基本查询
数据库
一、数据库的意义和常用的数据库
(一)数据库的意义和发展
随着互联网时代的到来,需要持久化数据呈现井喷式发展,常规的 io 操作虽然可以满足持久化的需求,但是,对于持久化的目的,对数据的操纵,显然力不从心,且操作的复杂度很大,不利于大规模的发展,审时度势,数据库应运而生。
数据库(Database)是按照数据结构来组织、存储和管理数据的 仓库 ;随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的 表格 到能够进行海量数据存储的 大型数据库系统 都在各个方面得到了广泛的应用。
数据库现在已经成为数据管理的重要技术,也是计算机的重要分支。由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性,易于扩展、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。数据库的运用从一般管理扩大到计算机辅助技术、人工智能以及科技计算等领域。
随着数据库技术的发展,计算机技术也随着得到了很大的发展,数据库为我们提供了可以快速存储以及检索的便利,它也为近几年软件可以如此普及贡献不小的力量。
(二)常用的数据库
分类 | 产品 | 特点 |
---|---|---|
小型 | access、foxbase | 负载量小,用户大概 100 人以内 (留言板、信息管理系统) ;成本在千元之内 ,对安全性要求不高 |
中型 | sqlservler、mysql | 负载量,日访问在 5000~10000 ;成本在万元以内(商务网站) ;满足日常安全需求 |
大型 | sybase、db2、oracle | 海量负载,可以处理海量数据( sybase<oracle<db2海量处理能力);安全性高,相对贵 |
二、SQL语言的介绍和分类
SQL(Structured Query Language)为数据库的语言,在1974 年由Boyce【博伊斯】和Chamberlin【钱伯林】提出的一种介于关系代数与关系演算之间的结构化查询语言,是一个通用的、功能极强的关系型数据库语言。
SQL语言的分类:
DDL:数据定义语言
DML:数据管理语言
DCL:数据库控制语言
命令分类操作:
分类 | 命令 |
---|---|
DDL | create:创建;drop:删除;alter:修改;rename: 重命名; truncate:截断 |
DML | insert:插入;delete:删除;update:更新;select:查询 |
DCL | grant:授权;revoke:回收权利;commit:提交事务;rollback:回滚事务 |
三、SELECT
(一)注意事项
在oracle命令中是不区分大小写的(SELECT和select是一样的),存储数据或者内容是需要区分大小写的
(二)解析步骤
from–>where–>select–>order by
(三)查询列(字段)
1、注释
–单行注释
/*
多行注释
*/
--以下例子均使用的是SCOTT用户表
/*
dept:部门表
emp:雇员表
salgrade:工资等级表
bonus:奖金表
*/
2、查询|检索|获取
--这是查询所有信息的方式
--查询数据:查询所有信息用*
--数据的来源:emp员工表
--条件:无
select * from emp;--查询员工名字
select ename from emp;--查询所有的员工的编号和名称以及上级编号
select empno,ename,mgr from emp;
输出结果:
3、去重:对结果集中完全相同的多条数据只显示一条
--输出所有员工的部门编号
select deptno from emp;--输出所有部门编号
select distinct deptno from emp;
输出结果:
4、取别名:取代替的名字
注意事项:
(1)是否用as 表的别名不可以使用as,列的别名可以使用as也可以不使用
select ename 员共姓名 from emp e;
select ename as 员工姓名 from emp e;
输出结果:
(输出结果一样)
(2)是否使用“ ”
“ ”中的内容原封不动,需要空格的时候,要放在“ ”中,当别名为英文的时候默认大写,如果需要小写的话也需要“ ”。
select ename 员工姓名 from emp;
select ename "员工 姓名" from emp;
select ename name from emp;
select ename "name" from emp;
5、字符串‘ ’
作为伪列(下文将解释)存在时,默认字段名字段值都为当前字符串
select deptno,dname,'xixihaha' from dept;
select deptno,dname,'xixihaha' "nonono" from emp;
输出结果:
6、字符串拼接||
字符串拼接使用的时||
select 'xixi'||'haha' from emp;
select 'XIXI'||ename 员工姓名 from emp;
select ename||sal from emp;
输出结果:
7、伪列
数据源中不存在的字段,可以在select后面查询,假设存在
伪列可以是表达式、整数、字符串
select '2*3' from emp;
select 2*3 from emp;
输出结果:
8、虚表
虚表:dual既是虚拟的表
select * from dual;
select 123*321 from dual;
select 2*3 from dual;
select 2*3 "df" from dual;
输出结果:
9、null值的处理
null表示的是空,空和0的意义是不一样的
--null值与数字进行运算得到的结果仍是null
select comm+1 from emp;--null值与字符串拼接,结果为字符串,数值与字符串拼接为相加
select ename,sal,comm,comm||'1' from emp;--处理null值 : nvl(值1,值2) 当值1为null,nvl函数的结果为值2,当值1不为null,nvl函数的结果为值1
select ename,sal,comm,nvl(comm,0)+1 from emp;
输出结果:
10、小练习:
查询所有员工的姓名、工种、年薪(不带奖金)
查询所有员工的姓名、工种、年薪(带12个月的奖金)
查询所有员工的姓名、工种、年薪(带一次奖金)
select ename,job,sal*12 from emp;
select ename,job,(sal+nvl(comm,0))*12 from emp;
select ename,job,sal*12+nvl(comm,0) from emp;
输出结果:
(四)特殊查询
条件查询:select 要查询的数据 from 数据源 where 行过滤条件 order by 排序字段1,排序字段2…;
执行流程 : from --> where --> select -> order by
条件判断运算符 : = < > <= >= != <>
条件连接符 : and or not
区间判断 : 条件1 and 条件2 | between 值1 and 值2(相当于>=与<=)
where过滤行记录条件,条件有
a)、= 、 >、 <、 >=、 <=、 !=、 <>、 between and
b)、and 、or、 not、 union、 union all、 intersect 、minus
c)、null :is null、 is not null、 --not is null
d)、like :模糊查询 % _ escape('单个字符')
f)、in 、 exists(难点) 及子查询
Oracle查询入门(一)数据库概述和基本查询相关推荐
- 实验4mysql查询数据_数据库实验四 复杂查询.doc
实验四 复杂查询 一.实验目的 掌握两个表以上的连接查询的应用,包括嵌套查询. 二.实验内容 (1)查询比"林红"年纪大的男学生信息. select * from Studentw ...
- oracle从入门到精通(4)------运算符,分组查询,函数
oracle入门到精通(4) --------------------------------------------- 1.运算符 2.分组查询 3.函数 --------------------- ...
- 按学号和姓名进行查询c语言,数据库实验4 数据查询(答案)
数据库技术与应用实验 实验4 数据查询 实验4 数据查询 学号:18103317 专业:电子信息工程 一.实验内容和步骤 1.在studentsdb数据库中,使用下列SQL语句将输出什么?并说明语句中 ...
- mysql 5.5 查询_mysql5.5数据库优化--定位慢查询
什么是慢查询 mysql记录下查询超过指定时间的语句,被称为"慢查询": 启动慢查询日志 1.查询是否把索引的SQL记录到慢查询日志中 SHOW VARIABLES LIKE 'l ...
- DB(一):数据库概述、SQL概述、Oracle数据类型
文章目录 ORACLE SQL 一.数据库概述 1.DB和DBMS 2.Oracle数据库概述 3.DB2数据库概述 4.SQL Server数据库概述 5.MySQL数据库概述 二.SQL概述 1. ...
- oracle存储过程入门教程
oracle存储过程入门教程一. 概述 Oracle存储过程开发的要点是:一. 概述 Oracle存储过程开发的要点是: ?? 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个 ...
- 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、
day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...
- 不敢相信,相同 SQL 下 Mybatis 查询结果和数据库竟然不一样!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | jianshu.com/p/7c569ca68 ...
- mysql简单概述_MySQL入门很简单: 1 数据库概述
1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...
最新文章
- 计算机入域时域控用到的端口,AD域控制器使用端口的说明
- 信息系统项目管理师优秀论文:论信息系统范围管理
- Kotlin 文档 .Google 正式确定将 Kotlin为android 开发语言
- 平面内两条线段的位置关系(相交)判定与交点求解
- 【bzoj2238】Mst(树链剖分+线段树)
- Hibernate检索1
- Android跳转WIFI界面的四种方式
- 转:Oracle 中union的用法
- virtualbox的USB识别
- 记LabVIEW宝典
- word插入脚注后最后一页多了一个分页符(下一页),导致最后多了一个空白页,删除不掉。
- 技术经理成长复盘-聊聊核心骨干
- 电子计算机里CE,电子计算机上的ce表示什么意思
- 《职场正能量》读后感
- 微信公众号最佳实践 ( 7.5 )股票行情及分析
- 网络(八)之OSPF协议的原理及配置
- pr基本图形模板无法使用_Pr基本图形模板安装教程
- Linux scp远程文件/目录传输 用ps和grep命令寻找僵尸进程
- 前端关于Recat面试题(九)
- 黑马程序员——收集起来的ios笔试题——黑马 ios 技术博客