Oracle数据库SELECT语句
学习oracle数据库自然会用到查询(SELECT)语句,下面本站小编为大家列举各种查询语句,希望能帮助到各位!
普通用户连接conn scott/tiger
超级管理员连接 conn “sys/sys as sysdba”
Disconnect 断开连接
把SQL存到文件 save c:
Ed c:编辑SQL语句
@c:运行SQL语句
Desc emp描述EMP结构
Select * from tab 查看该用户下大所有对象
Show user显示当前用户
书写SQL语句的原则
大小写不敏感,但单引和双引内的大小写是敏感的。切记!
关键字不能缩写
可以分行书写,但关键字不能被跨行书写,单引内也不要跨行书写。
一般每个子句是一行
可以排版来增加可读性
字符串用单引
列的别名用双引
SELECT语句
1、 简单的Select语句
Select * from table 不指定查询的字段
Select attr1,attr2 from table指定查询某些字段
Select attr1,attr2 from table where attr1=xxx查询符合条件的指定字段
2、 使用算术表达式 + - / *
表达式的运算是有优先级的,和程序中的一样,先乘除后加减,括号强制优先级.
+ - * /
先乘除,后加减,括号强制优先级
Select ename,12*sal+300 from emp;
Select ename,12*(sal+300) from emp;
3、 连接运算符 ||
4、 使用字段别名 as
别名的使用原则
1。区分同名列的名称
2。非法的表达式合法化
3。按照你的意愿显示列的名称
4。特殊的别名要双引
5。直接写列的后面
6。使用as增加可读性
5、 空值 is null
Null值不等于0,也不等于空格。
Null值是未赋值的值,不入索引。
NULL是双刃剑,使用好了提高性能,你对它不了解,往往是错误的根源,切记!
查询NULL值
因为null不等于null,所以没有行被选出。未知不等于未知,无穷不等于无穷.
6、去除重复行 distinct
SELECT 语句显示重复的行。用DISTINCT语法来去掉重复的行。
如果我们想去掉重复的行,我们需要distinct关键字。
在ORACLE数据库的10G前版本,该语句需要排序才能去掉重复的行,而在10G中数据库并不需要
排序,而是使用HASH算法来去掉重复的行,由于避免了排序,从而极大的提高了SQL语句的效率,
因为10G的SQL内核改写了。效率更加的高。因为没有排序,所以输出也是无序的。
7、查询结果排序 order by asc(desc)
Where和order by 子句
语法
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)]
[order by column|expression| alias ];
Where 一定要放在FROM 子句的后面。
显示表的.部分行和部分列,使用where子句过滤出想要的行
Select deptno,ename from emp Where deptno=10;
Order by 放在最后,用来排序显示结果
不指明都是二进制排序,如果你想按照拼音,部首,笔画,法语等特殊的排序模式,请设定排序的环境
变量,关于国家语言的支持问题我们再DBA体系结构中描述。
默认是升序asc
降序要指定desc
8、比较运算符 > < (!= or <>) between and
And运算
Select ename,deptno,sal From emp Where deptno=30 and sal>1200;
ENAME DEPTNO SAL
---------- ------ ----------
ALLEN 30 1600
WARD 30 1250
MARTIN 30 1250
BLAKE 30 2850
TURNER 30 1500
两个条件的交集,必须同时满足。
in操作 not in
含上下界
In操作,穷举,据说穷举不能超过1000个值,我没有去验证。一般我们也不会穷举到1000个值,如
果到1000请改写你的SQL。
Select deptno,ename,sal from emp Where deptno in(10,20);
9、模糊查询 like
% 表示零或多个字符
_ 表示一个字符
对于特殊符号可使用ESCAPE 标识符来查找
Like运算
_ 通配一个,仅匹配一个字符,
% 通配没有或多个字符
10、逻辑运算符 or and not
OR运算
Select ename,deptno,sal From emp Where deptno=30 or sal>1200;
ENAME DEPTNO SAL
---------- ------ ----------
ALLEN 30 1600
WARD 30 1250
JONES 20 2975
MARTIN 30 1250
BLAKE 30 2850
CLARK 10 2450
KING 10 5000
TURNER 30 1500
JAMES 30 950
FORD 20 3000
MILLER 10 1300
两个条件的并集,满足一个就可以。
not运算
Select ename,deptno,sal From emp Where ename not like 'T%';
ENAME DEPTNO SAL
---------- ------ ----------
SMITH 20 800
ALLEN 30 1600
WARD 30 1250
JONES 20 2975
MARTIN 30 1250
BLAKE 30 2850
CLARK 10 2450
KING 10 5000
JAMES 30 950
FORD 20 3000
MILLER 10 1300
补集,不是T打头的员工。
优先级
1。算术运算
2。连接运算
3。关系运算
4。 IS [NOT] NULL, LIKE, [NOT] IN
5。Between
括号强制优先级
-
2017年计算机一级考试题库和答案
中国计算机网络设备制造行业是改革开放后成长起来的,早期与世界先进水平存在巨大差距;但受益于计算机网络设备行业生产技术不断提高以及下游需求市场不断扩大,我国计算机网络设备制造行业发展十分迅速。下面是关于计算机一级考试题库和答案,希望大家认真阅读!一、...
-
2017计算机二级考试C语言冲刺题及答案
好的复习题是备考计算机二级考试C语言的关键,为了让考生更好地复习。本站小编为大家准备了计算机二级C语言冲刺题。欢迎阅读。一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不...
-
计算机二级office高级应用试题及答案
一、单项选择题1.将程序像数据一样存放在计算机内存中运行,是1946年由提出的。A)图灵B)布尔C)冯·诺依曼D)爱因斯坦2.世界上生产微处理(CPU)芯片的厂家很多,就是其中之一。A)IBM公司B)微软公司C)Intel公司D)联想公司3.计算机能按人们的意图自动地进行操作...
-
我的JavaEE学习路线图
从学习Java开发到现在虽然也已经快三年了,但是要说到分享一下经验实在是不敢当。权当是对自己的一个总结吧,希望大家不吝指教,互相交流。照旧,还是现来整理一下我学习Java的一个路线图吧,然后按照这个路线图来谈谈我的一些感受。一、Java核心这是学习Java的基础,掌握...