Oracle数据库最常用查询语句:SELECT FROM表名
在Oracle数据库中,SELECT语句是最常用的查询语句之一。它不仅可以用于查询表中的数据,还可以用于连接多个表,对数据进行聚合,以及进行计算和排序。在本文中,我们将探讨Oracle数据库中最常用的SELECT语句,包括基本查询语句、条件查询、连接查询、聚合查询、计算查询和排序查询等。
基本查询语句
最简单的SELECT语句是从一个表中查询所有数据:
SELECT * FROM table_name;
这条语句将返回该表的所有列和行。如果要查询特定的列,可以使用以下语法:
SELECT column_name1, column_name2 FROM table_name;
这将只返回查询的列,并排除其他列。如果要重命名查询的列,可以使用以下语法:
SELECT column_name1 AS new_column_name1, column_name2 AS new_column_name2 FROM table_name;
这将返回一个具有新列名的结果集。
条件查询
条件查询是SELECT语句中最常用的查询类型。它通常用于从表中过滤具有特定属性的行。例如:
SELECT * FROM table_name WHERE column_name = ‘value’;
这将返回表中所有具有指定值的行。可以使用多个操作符和条件来指定查询条件,例如:
SELECT * FROM table_name WHERE column_name1 = ‘value1’ AND column_name2
其中AND操作符用于组合多个条件,以使查询更加精细。
连接查询
连接查询是SELECT语句中另一个常用的查询类型。它通常用于从多个表中同时查询数据。例如:
SELECT table1.column_name1, table2.column_name2 FROM table1, table2 WHERE table1.column_name3 = table2.column_name3;
这将返回两个表中指定列的匹配行。可以使用多个连接操作符和条件来指定连接查询,例如:
SELECT table1.column_name1, table2.column_name2 FROM table1 INNER JOIN table2 ON table1.column_name3 = table2.column_name3;
其中INNER JOIN用于指定连接类型,ON操作符用于指定连接条件。
聚合查询
聚合查询是SELECT语句中另一个重要的查询类型。它通常用于从表中汇总数据并对其进行计算。例如:
SELECT COUNT(column_name) FROM table_name;
这将返回表中指定列的行数。可以使用其他聚合函数,例如SUM、AVG、MIN和MAX来计算其他统计信息,例如:
SELECT SUM(column_name) FROM table_name;
这将返回表中指定列的总和。
计算查询
计算查询通常用于SELECT语句中的计算,例如:
SELECT (column_name1 + column_name2) AS new_column_name FROM table_name;
这将返回一个具有新列名的结果集,其中新列包括两个指定列的求和。可以使用其他操作符和列进行更复杂的计算,例如:
SELECT (column_name1 + column_name2) * 0.1 AS new_column_name FROM table_name;
其中*操作符用于乘法计算,0.1用于指定乘数。
排序查询
排序查询通常用于按指定列中的排序查询结果。例如:
SELECT * FROM table_name ORDER BY column_name ASC;
这将按指定列中的升序返回查询结果。可以使用DESC关键字来指定降序,例如:
SELECT * FROM table_name ORDER BY column_name DESC;
这将按指定列中的降序返回查询结果。
在Oracle数据库中,SELECT语句是最常用的查询语句之一。它可以用于从表中查询数据,连接多个表,对数据进行聚合,以及进行计算和排序。本文介绍了SELECT语句的六种查询类型,包括基本查询语句、条件查询、连接查询、聚合查询、计算查询和排序查询。希望这些信息能够帮助您更好地使用Oracle数据库。
相关问题拓展阅读:
Oracle数据库基础知识:SELECT语句
Oracle数据库基础知识:SELECT语句
SELECT语困樱句是指用来查询、添加、 和删除数据库中数据的语句, 和删除数据库中数据的语句 , 它们 是 SELECT 、 INSERT 、 UPDATE 、 DELETE等. 下面是Oracle数据库基础知识——SELECT语句,希望对大家有所帮助!
普通用户连接conn scott/tiger
超级管理员连接 conn “sys/sys as sysdba”
Disconnect 断开连接
把SQL存到文件 save c:1.txt
Ed c:1.txt编辑SQL语句
@c:1.txt运行SQL语句
Desc emp描述EMP结构
Select * from tab 查看该用户下大所有对象
Show user显示当前用户
书写SQL语句的原则
大小写不敏感,但单引和双引内的大小写是敏感的。切记!
关键字不能缩写
可以分行书写,但关键字不能被跨行书写,单引内也不要跨行书写。
一般每个子句是一行
可以排版来增加可读性
字符串用单引
列的别名用双引
SELECT语句
、 简单的Select语句
Select * from table 不指定查询的字段
Select attr1,attr2 from table指定查询某些好尺盯字段
Select attr1,attr2 from table where attr1=xxx查询符合条件的指定字段
、 使用算术表达式 + – / *
表达式的运算是有优先级的,和程序中的一样,先乘除后加减,括号强制优先级.
+ – * /
先乘除,后加减,括号强制优先级
Select ename,12*sal+300 from emp;
Select ename,12*(sal+300) from emp;
、 连接运算符 ||
、 使用字段别名 as
别名的’使用原则
。区分同名列的名称
。非法的表达式合法化
。按照你的意愿显示列的名称
。特殊的别名要双引
。直接写列的后面
。使用as增加可读性
、 空值 is null
Null值不等于0,也不等于空格。
Null值是未赋值的值,不入索引。
NULL是双刃剑,使用好了提高性能,你对它不了解,往往是错误的根源,切记!
查询NULL值
因为null不等于null,所以没有行被选出。未知不等于未知,无穷不等于无穷.
、去除重复行 distinct
SELECT 语句显示重复的行。用DISTINCT语法来去掉重复的行。
如果我们想去掉重复的行,我们需要distinct关键字。
在ORACLE数据库的10G前版本,该语友和句需要排序才能去掉重复的行,而在10G中数据库并不需要
排序,而是使用HASH算法来去掉重复的行,由于避免了排序,从而极大的提高了SQL语句的效率,
因为10G的SQL内核改写了。效率更加的高。因为没有排序,所以输出也是无序的。
、查询结果排序 order by asc(desc)
Where和order by 子句
语法
SELECT *|{ column|expression ,…}
FROM table
;
Where 一定要放在FROM 子句的后面。
显示表的部分行和部分列,使用where子句过滤出想要的行
Select deptno,ename from emp Where deptno=10;
Order by 放在最后,用来排序显示结果
不指明都是二进制排序,如果你想按照拼音,部首,笔画,法语等特殊的排序模式,请设定排序的环境
变量,关于国家语言的支持问题我们再DBA体系结构中描述。
默认是升序asc
降序要指定desc
、比较运算符 > ) between and
And运算
Select ename,deptno,sal From emp Where deptno=30 and sal>1200;
ENAME DEPTNO SAL
——
ALLEN
WARD
MARTIN
BLAKE
TURNER
两个条件的交集,必须同时满足。
in操作 not in
含上下界
In操作,穷举,据说穷举不能超过1000个值,我没有去验证。一般我们也不会穷举到1000个值,如
果到1000请改写你的SQL。
Select deptno,ename,sal from emp Where deptno in(10,20);
、模糊查询 like
% 表示零或多个字符
_ 表示一个字符
对于特殊符号可使用ESCAPE 标识符来查找
Like运算
_ 通配一个,仅匹配一个字符,
% 通配没有或多个字符
、逻辑运算符 or and not
OR运算
Select ename,deptno,sal From emp Where deptno=30 or sal>1200;
ENAME DEPTNO SAL
——
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
KING
TURNER
JAMES
FORD
MILLER
两个条件的并集,满足一个就可以。
not运算
Select ename,deptno,sal From emp Where ename not like ‘T%’;
ENAME DEPTNO SAL
——
ITH
oracle 数据库查询语句。。。。。。。
假设樱档设备前漏表名为device_table, 电量表名为snum_table, 可以脊悔乱这样查询:
with s as (
select sum(b.snum) as sum_num, a.clientid
from device_table a
inner join snum_table b on a.deviceid = b.deviceid
group by a.clientid
)
select s0.*
from (
select s.clientid, s.sum_num, rownum as row_number
from s
order by s.sum_num desc
) s0
where s0.row_number
关于oracle 数据库查询语句的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。