[Oracle]基本操作-2

Oracle基本操作-1该篇文章的后续与补充!

select语句

1.查询全部列

select * from a_table
[caption id="" align="aligncenter" width="296"] a_table[/caption]

 

2.查询特定的列

select b_id,b_name,a_id from b_table
[caption id="" align="aligncenter" width="224"] b_table[/caption]

 

3.别名

在查询中,给查询结果的列起一个自定义名称。
select a_money as "月薪" from a_table

 

4.算术运算符

运算符 描述
+
-
*
/
举例:计算年薪
select a_id,a_name,a_age,a_money*12 as "年薪" from a_table

 

5.字符串连接

能将指定的列进行连接。
select a_id,a_name ||'-'|| a_money as "姓名与工资" from a_table

 

6.消除重复行

先查询下a_table表
select a_money from a_table

能看到有相同的数额,现在使用关键字distinct

select distinct a_money from a_table

 

7.where限定

我们可以使用where进行过滤。

1).查询工资大于4000的所有信息。

select * from a_table where a_money>4000

 

2).查询姓名为“wangwu”的信息。

select * from a_table where a_name='wangwu'

 

除了常用的>、<、>=等等这类比较运算符还包括下列的:

操作符 含义
BETWEEN ...AND... 在两个值之间 (包含边界)
IN(set) 等于值列表中的一个
LIKE 模糊查询
IS NULL 空值
 

3).查询年龄在20-28之间的信息。

select * from a_table where a_age between 20 and 28

 

4).查询金额是3400与3500。

select * from a_table where a_money in(3400,3500)

 

5).模糊查询姓名以w开头的人的信息。

select * from a_table where a_name like 'w%'

 

6).模糊查询倒数第二个字母的姓名为o的人的信息。

select * from a_table where a_name like '%o_'

 

7).查询姓名中包含0的所有人的信息。

select * from a_table where a_name like '%o%'

 

8).查询是否为空和不为空。

select * from a_table where a_name is null
select * from a_table where a_name is not null

 

8.逻辑运算

操作符 含义
AND 逻辑并
OR 逻辑或
NOT 逻辑否
 

1).查询年龄大于20并且工资大于4000的人。

select * from a_table where a_age > 20 and a_money > 4000

 

2).查询年龄为20或者工资大于4000的人。

select * from a_table where a_age = 20 or a_money > 4000

 

9.排序查询

使用 ORDER BY 子句排序 ASC: 升序 DESC: 降序 ORDER BY 子句在SELECT语句的结尾

select * from a_table  order by a_money desc

 

10.等值连接

可以从多张表中取出数据,但是表中必须要有所关联。
select * from b_table b,a_table a where b.a_id=a.a_id

 

11.子查询

查询谁的工资高于wangwu。
select a_name from a_table where a_money>(
       select a_money  from a_table where a_name='wangwu' )

 

分组函数

1.统计函数

AVG COUNT MAX MIN STDDEV SUM

select max(a_money),min(a_money),avg(a_money),sum(a_money) from a_table

 

查询年龄大于20的人数。( COUNT(DISTINCT expr) 返回 expr非空且不重复的记录总数 )

select count(*) from a_table where a_age>20

 

2.分组查询

select a_id,avg(a_money) from a_table group by a_id

 

3.过滤分组

having
select a_id,max(a_money) from a_table group by a_id
       having max(a_money) >= 3500

 

视图

1.创建视图

create view a_view
as(
   select a.a_id,a.a_name,a.a_age,a.a_money from a_table a
)
 

2.查询视图

select * from a_view

 

3.删除视图

drop view a_view
 
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xiaoxin1218@qq.com

文章标题:[Oracle]基本操作-2

文章字数:773

本文作者:周信

发布时间:2019-10-09, 23:02:51

最后更新:2023-05-03, 10:25:35

原始链接:http://zx21.xyz/2019/10/09/Oracle-基本操作-2/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

可为我打赏鼓励~