oracle:sql介绍及SQL基本查询 lt;四gt;
转载自:https://blog.csdn.net/redarmy_chen/article/details/6521835
SQL是structured Query Language(结构化查询语言)的缩写。可以使用sql语句建立或删除数据库的对象,插入,修改和更新数据库中的数据,并且可以对数据库执行各种日常管理的操作。它是所有关系数据库管理系统的标准语言.换句话说使用sql可以对所有的关系数据库进行操作。
SQL按照功能分类:
1、 数据库定义语句
DDL(Data Definition Language):用于创建、修改、删除数据库对象。
2、 数据库操作语句
DML(Data Manipulation Language)用于:查询,添加修改或删除存在数据库对象中的数据。
3、 数据库控制语句DCL
DCL(Data Control Language)用于控制访问数据库中特定对象的用户、grant revoke
Oracle系统中经过对Sql语言扩展被称为PL/SQL语言。
基本的sql语句
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
ORACLE基本语句的查询与使用
SQL> select * from emp;//查询所有的字段信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;//查询所有
SQL> select empno from emp;//查询部分字段
SQL> select empno "员工编号" from emp;//采用别名查询
SQL> select empno as "员工编号" from emp;//采用别名查询 等效于上面的效果
SQL> select distinct(hiredate) from emp;//查询所有员工的入职日期并且去掉重复的日期
SQL> select sal+comm from emp;//注意:包含空值的数学表达式求出的结果为空值
SQL> select empno||ename from emp;//||连接符 把empno与ename作为一个字段显示
SQL> select empno||ename as "员工编号和员工姓名" from emp;//效果同上
SQL> select '员工的编号是'||empno from emp;//字符的链接
SQL> select '姓名为'||ename||'员工,所在的部门是:'||deptno as "新列" from emp;//字段的链接包号字符连接
SQL> select distinct(deptno) from emp;//查询去掉(部门编号)重复的行
条件查询
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];
Condition(s)要使用到比较运算符常用的比较运算符如下:
操作符 含义
= 等于
> 大于
>= 大于等于
< 小于
<= 小于等于
<> 不等于 等效于!=
其它操作
And 逻辑运算 逻辑与
Or 逻辑运算 逻辑或
Not 逻辑运算 逻辑否
Between 起始值 and 结束值:使用 BETWEEN 运算来显示在一个区间内的值 包含(起始结束值)
In: 使用 IN运算显示列表中的值。 In(,,,)相当于一个集合,只要出现集合中匹配的就显示
Like:
使用 LIKE 运算选择类似的值
选择条件可以包含字符或数字:
• % 代表零个或多个字符(任意个字符)。
• _ 代表一个字符。
Escape:
回避特殊符号的:使用转义符。例如:将[%]转为[/%]、[_]转为[/_],然后再加上[ESCAPE ‘/’] 即可
Null:
使用 IS (NOT) NULL 判断空值。
//查询部门号为10的员工信息 部门为整数类型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno=10;
//查询职位号为MANAGER的员工信息 岗位的类型为字符类型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER';
//查询部门号为10并且员工的职位为MANAGER的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER' and deptno=10;
注意:
字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。
默认的日期格式是 DD-MON-RR。
Where子句使用比较运算符:'>'(大于),'>='(大于等于),'='(等于),'<='(小于等于)'<'(小于).'<>'(不等于).'!>'(不大于).'!<'(不小于)
//查询部门号大于10的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno>10;
//查询薪水大于等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=3000;
//查询薪水不等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000;
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000;
//查询薪水大于2000并且小于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>2000 and sal<3000;
//查询薪水大于等于2000并且小于等于3000的员工信息
逻辑运算符的使用:'and','or','not'
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000;
//等效于
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000;
//查询部门号位10,20的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20);
//注意:相当于如下操作:
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20; 模糊查询:
两种方式:'_'和'%','_'代表一个未知数,'%'代表多个
//查询员工名称以S开头的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 'S%';
//查询员工名称以S结尾的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%S';
//查询员工名称第三个字符为N的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__N%';
//查询员工名称中含有N的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%N%';
转义字符的使用:'\'
//查询员工名称中倒数第二个字符为%的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%/%_'escape'/';
//查询员工名称总含有%的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%/%%'escape'/';
查找检索值为空的数据:'is null'
//查询奖金为null的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is null;
//查询奖金非null的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is not null;
优先级表格:
优先级
1 算术运算
2 连接符
3 比较符
4 Is not null like not in
5 Not between
6 not
7 and
8 Or
备注:可以采用括号改变优先级
操作sql参考附件中的sql语句
以上内容归redarmy_chen总结创建,如需转载请添加出处,如有疑问请发送到redarmy_chen@qq.com
oracle:sql介绍及SQL基本查询 lt;四gt;相关推荐
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user ...
- mysql 中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
- mysql 模糊查询用法_mysql进阶(六)模糊查询的四种用法介绍
mysql中模糊查询的四种用法介绍 这篇文章主要介绍了mysql中模糊查询的四种用法,需要的朋友可以参考下. 下面介绍mysql中模糊查询的四种用法: 1 %: 表示任意0个或多个字符.可匹配任意类型 ...
- mysql中模糊查询的四种用法
转载自 https://www.cnblogs.com/songfayuan/articles/7290158.html 下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可 ...
- oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析
oracle查看执行最慢与查询次数最多的sql语句 注:本文来源 于<oracle查看执行最慢与查询次数最多的sql语句> 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率 ...
- oracle一条sql运行时间很长,oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析...
oracle查看执行最慢与查询次数最多的sql语句 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻 ...
- [译]LINT TO SQL 介绍(数据库查询) - Part.3
PDF版浏览:http://files.cnblogs.com/JimmyZhang/Linq-To-Sql-Part_3-Querying-our-Database.pdf 出处:Linq To ...
- db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...
下文给大家介绍mysql数据库介绍,具体详情如下所示: MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 ...
- 查询Oracle正在执行的sql语句
--查询Oracle正在执行的sql语句及执行该语句的用户 [sql] view plaincopy SELECT b.sid oracleID, b.username 登录Oracle用户名, b. ...
- 查询Oracle正在执行的sql语句,锁表,解锁
原文出处:http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查询Oracle正在执行的sql ...
最新文章
- SQL与NoSQL区别-存储结构
- 软件测试数据怎么找,作为软件测试人员怎么能快速找到bug
- OPEN(SAP) UI5 扫盲
- 组合数据类型练习,英文词频统计实例9-21
- 领域驱动设计和开发实战总结
- java中如何创建对话框_Java – 如何创建自定义对话框?
- OpenLTE 基站相关头文件:PHY、MAC、RLC、RRC、PDCP、RB、MME、HSS、GW
- python subprocess.Popen简明总结
- 找不到“javax.servlet.annotation.WebServlet“解决方法
- mschart mysql_在VB mschart里面可以一个MSCHART同时显示曲线和状图吗?
- Linux快捷键及命令
- IPQ4019MTD分区生成的过程
- docker 安装svnserver
- RetinaFace论文解读 --- RetinaFace: Single-stage Dense Face Localisation in the Wild
- 什么是SDN,为什么要有SDN,SDN有什么安全问题
- iPhone、iPad尺寸
- Java如何打印输出九九乘法表
- Toast拓展--自定义显示时间和动画
- python代码画玫瑰花_python绘制玫瑰
- Mysql隐式类型转换
热门文章
- 【元胞自动机】基于matlab元胞自动机生命游戏【含Matlab源码 655期】
- java将一个字符串数组复制到一个字符串_C语言 | 将元音字母复制到另一个字符串中...
- 计算机等级的判断,计算机等级考试一级WPS判断题及答案
- python:for循环修改list的值,应使用range
- int main(int argc,char *argv[])该函数中int argc和argv[]两个参数的理解你懂多少?
- bps与bit/s和Bps与buad/s
- 网站访问计数器 php,用PHP生成访客计数器
- 量子计算云平台“中国版”启动 量子信息革命正在加速到来
- MySQL如何把A表查询出来的某个字段的数据插入到新增的字段的下面
- ZeroMQ接口函数之 :zmq_proxy – 开始ZMQ内置代理