Oracle 基础查询

Posted 叶墨悻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 基础查询相关的知识,希望对你有一定的参考价值。

  • SQL (Structured  Query Language )结构化查询语言。

查询是一种从一个或多个表或视图中检索数据的操作,不会改变表中的数据。

查询数据是数据库的核心操作,是使用频率最高的操作。

 

  • select语句的基本语法格式是:

select [distinct] * | 列名1[as c1],列名2[as c2]..., 列名n , 组函数(...)

from 表名1别名1,表名2别名2...

[where 条件]

[group by 列名1,列名2..., 列名n ]

[having 条件]

[order by  排序列名1 ASC | DESC , 排序列名2 ASC | DESC...]

 

  • SQL执行计划

(8)SELECT (9)DISTINCT  (11)<Top Num> <select list>
(1)FROM [left_table]
(3)<join_type> JOIN <right_table>
(2)ON <join_condition>
(4)WHERE <where_condition>
(5)GROUP BY <group_by_list>
(6)WITH <CUBE | RollUP>
(7)HAVING <having_condition>
(10)ORDER BY <order_by_list>

例: 

1)      查询出部门表中 所有部门的编号与名称

selectd.id,d.name

from  s_dept d;

2)      查询出部门表中 所有部门的编号与名称,位置

Select d.id,d.name,d.region_id

From s_dept d;

3)      查询出员工表中的 员工的编号,姓名,薪水与职位

selecte.id,e.first_name,e.salary,e.title

froms_emp e;

4)      查询出员工表中的所有信息

select * from s_emp;

  • 表的别名,列的别名

distinct关键字: 去重,必须放在开头字段前,会作用于后面所有的字段

                  本身是 二重循环查询,当数据量较大时,不适用

       ||     表示拼接

       nvl()       表示空值置换函数

示例:

1)      从s_emp表中查询公司中所有职位

select distinct title from s_emp;

  • 排序: order by 列名1 asc | desc , 列名2  asc | desc ....    [  默认升序]

示例:

2)      查询出所有的员工信息,按照他们的薪水的降序排列

select * from s_emp e order by e.salary;

 

3)      查询出所有的员工信息,按照他们的薪水的降序排列,若工资相同,根据入职日期的升序排列

       select * from s_emp e

       order by e.saaryldesc , e.start_dateasc;

 









以上是关于Oracle 基础查询的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 基础查询

Oracle 的优化器是不是考虑子查询的基础列?

数据库小技能:Oracle基础之查询

Oracle基础查询

oracle(sql)基础篇系列——多表连接查询子查询视图

oracle查询优化