天天看点

ORACLE sql 基础查询

数据库的查询最基本的select * from table 查到表的全部列开始。若想选择表中的特定列,只需要将*号改成所需要查找的表中ID即可,当然在这个简单的SELECT语句基础上我们同样可以用到数学运算符:+ - * /,和数学运算法则一样,这里同样遵守的是先乘除后加减,先算括号内再算括号外,同一优先级运算符从左向右执行。

Eg:每个月工资加八百,然后计算一年的工资总数

Select last_name,salary,12*(salary+800) from employees

ORACLE sql 基础查询

刚刚的查询语句中,我们会看出当我们运用运算符之后就会将查询数据的字段显得很繁琐而且很长,有时候我们表中有的列名也过长想显示的简单,我们就需要用到列的别名。

Eg:给运算的年终奖字符起了别名a ,用as 连接。当然我们也可以直接在字段名后空格隔开,然后直接加上重命的名字。

Select last_name,salary,12*(salary+800) a from employees

Or Select last_name,salary,12*(salary+800) as a from employees

ORACLE sql 基础查询

有了最基本的查询语句,我们需要做的就是在简单基础之上,将语句一步步复杂化。我们select * from table相类似的语句都是将整张表的数据内容展示出来,有时我们只需要其中的某一条或者某几条数据,就是时候加上我们的过滤条件了,它的关键词是where。使用where子句来查询,就可以实现将我们不需要的数据过滤掉的效果。当然我们书写的格式要记住where永远紧随FROM之后

Eg:查询部门ID为80的员工名字和工资。

Select last_name,salary from employees where departMENT_ID=80;

ID都是数字类型,可直接在等号后面写。而有时我们也需要查字符和日期的格式的数据,一定要包含在单引号之中(Select last_name,salary from employees where last_name='King'),日期同字符类型一样

ORACLE sql 基础查询
ORACLE sql 基础查询

在where子句中除开=之外,还有> ,= ,>=,<,<=,<>的比较运算符,以>为例查询员工工资高于3000eg:(Select last_name,salary from employees where salary>3000;),

ORACLE sql 基础查询

了解符号运算符之后,其他一些比较运算符也需要记住,BETWEEN ...AND来显示在一个区间内的值,IN显示列表中的值。Where...LIKE子句和我们后台代码中模糊查询是一样的。Eg:查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。

select concat(last_name,first_name) from employees

where upper(concat(last_name,first_name)) like'__A%'

ORACLE sql 基础查询

,值得说明例句中有两个函数,concat是连接两个字符,它的作用和||连接符一样, upper是将小写转换为大写的函数。_下划线是代替查询条件中字符的位置,这里我们需要的是第三个字母,所以我们在前面需要加上两个_。另外逻辑连接运算符AND OR NOT的作用亦不可忽视。AND 要求并的关系为真。OR 要求或关系为真。NOT 不属于查询条件任意一个值。

说完where ,还有order by ORDER BY 子句在SELECT语句的结尾。是一个排序数据的语句。和它与之相关的

就是desc降序,asc升序 举一个升降序都用到的例子。 

 以Cno升序、Degree降序查询Score表的所有记录。

  select * from Score order by Cno asc , Degree desc;

ORACLE sql 基础查询